noaa-oar-arl / NAQFC

National Air Quality Forecasting Capability
0 stars 1 forks source link

Adding Inline Fengsha Dust to CMAQv5.3.1 #1

Open drnimbusrain opened 4 years ago

drnimbusrain commented 4 years ago

There is a need for adding inline Fengsha windblown dust to CMAQv5.3.1.

Idea: To use NACC submodule to read/process necessary Fengsha input variables, and output them to soicro2d file for input into CMAQv5.3.1 for Fengsha.

Add this to NAQFC version of NACC-CMAQv5.3.1 (NAQFC/MOD repo) code.

bbakernoaa commented 4 years ago

@drnimbusrain @dtonggmu I've started by creating the additional inputs for fengsha in the on the global soicro2d file. They are currently located at /data/aqf/barryb/temp/nacc_geofiles on aaqest. The files were created using a monthly average of 10 years of MODIS data. Included are the clay and sand fractions and the drag partition.


ncdump -h gfs.t12z.geo.10.nc
netcdf gfs.t12z.geo.10 {
dimensions:
    Time = UNLIMITED ; // (1 currently)
    month = 1 ;
    south_north = 1536 ;
    west_east = 3072 ;
    land_cat = 21 ;
variables:
    float LAI(Time, month, south_north, west_east) ;
        LAI:_FillValue = NaNf ;
        LAI:FieldType = 104 ;
        LAI:MemoryOrder = "XYZ" ;
        LAI:units = "m^2/m^2" ;
        LAI:description = "MODIS LAI" ;
        LAI:stagger = "M" ;
        LAI:sr_x = 1 ;
        LAI:sr_y = 1 ;
    float LANDUSEF(Time, land_cat, south_north, west_east) ;
        LANDUSEF:_FillValue = NaNf ;
        LANDUSEF:FieldType = 104 ;
        LANDUSEF:MemoryOrder = "XYZ" ;
        LANDUSEF:units = "category" ;
        LANDUSEF:description = "Noah-modified 21-category IGBP-MODIS landuse" ;
        LANDUSEF:stagger = "M" ;
        LANDUSEF:sr_x = 1 ;
        LANDUSEF:sr_y = 1 ;
    float CLAY_FRAC(Time, month, south_north, west_east) ;
        CLAY_FRAC:_FillValue = NaNf ;
        CLAY_FRAC:FieldType = 104 ;
        CLAY_FRAC:MemoryOrder = "XYZ" ;
        CLAY_FRAC:units = "m^2/m^2" ;
        CLAY_FRAC:description = "MODIS LAI" ;
        CLAY_FRAC:stagger = "M" ;
        CLAY_FRAC:sr_x = 1 ;
        CLAY_FRAC:sr_y = 1 ;
    float SAND_FRAC(Time, month, south_north, west_east) ;
        SAND_FRAC:_FillValue = NaNf ;
        SAND_FRAC:FieldType = 104 ;
        SAND_FRAC:MemoryOrder = "XYZ" ;
        SAND_FRAC:units = "m^2/m^2" ;
        SAND_FRAC:description = "MODIS LAI" ;
        SAND_FRAC:stagger = "M" ;
        SAND_FRAC:sr_x = 1 ;
        SAND_FRAC:sr_y = 1 ;
    float DRAG_PART(Time, month, south_north, west_east) ;
        DRAG_PART:_FillValue = NaNf ;
        DRAG_PART:FieldType = 104 ;
        DRAG_PART:MemoryOrder = "XYZ" ;
        DRAG_PART:units = "m^2/m^2" ;
        DRAG_PART:description = "MODIS LAI" ;
        DRAG_PART:stagger = "M" ;
        DRAG_PART:sr_x = 1 ;
        DRAG_PART:sr_y = 1 ;

// global attributes:
        :history = "Sat Feb 29 21:04:34 2020: ncks -A -v LANDUSEF gfs.t12z.geo.10.LANDUSEF.nc gfs.t12z.geo.10.nc\nSat Feb 29 21:04:26 2020: ncks -A -v LAI gfs.t12z.geo.10.LAI.nc gfs.t12z.geo.10.nc" ;
        :history_of_appended_files = "Sat Feb 29 21:04:34 2020: Appended file gfs.t12z.geo.10.LANDUSEF.nc had following \"history\" attribute:\nFri Feb 28 10:05:37 2020: ncrename -v LAI12M,LAI gfs.t12z.geo.10.nc\nFri Feb 28 10:02:19 2020: ncks -A -v LANDUSEF,LU_INDEX,XLAT_M,XLONG_M geo_em.d01.nc gfs.t12z.geo.10.nc\nFri Feb 28 09:57:59 2020: ncks -v LAI12M -d month,9 geo_em.d01.nc gfs.t12z.geo.10.nc\nSat Feb 29 21:04:26 2020: Appended file gfs.t12z.geo.10.LAI.nc had following \"history\" attribute:\nFri Feb 28 10:05:37 2020: ncrename -v LAI12M,LAI gfs.t12z.geo.10.nc\nFri Feb 28 10:02:19 2020: ncks -A -v LANDUSEF,LU_INDEX,XLAT_M,XLONG_M geo_em.d01.nc gfs.t12z.geo.10.nc\nFri Feb 28 09:57:59 2020: ncks -v LAI12M -d month,9 geo_em.d01.nc gfs.t12z.geo.10.nc\n" ;
        :NCO = "4.6.9" ;
}```
bbakernoaa commented 4 years ago

I just realized that I need to add the BSM to this file as well

drnimbusrain commented 4 years ago

That's great Barry and a good plan we came up with for NACC-CMAQ and adding Fengsha.

These are not the soicro2d files though, they are the Fengsha soil additions to the geofiles I made for reading into NACC (for MODIS LAI, etc). The idea is to then process these geofiles to output the Fengsha needed variables in CMAQ using the NACC soicro2d output.

Thanks,

Patrick

On Fri, May 1, 2020, 10:57 AM Barry Baker notifications@github.com wrote:

I just realized that I need to add the BSM to this file as well

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/noaa-oar-arl/NAQFC/issues/1#issuecomment-622421301, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGLFYNVGOXK4HMGFXXIEJ2LRPLPMNANCNFSM4MVXWREQ .

ytangnoaa commented 4 years ago

BTW, besides the input changes, we may also need to look at the threshold U* etc as the 10m wind of 13km FV3 may be different from others. CMAQ 5.3.1 changed the interface of the dust module.

Thanks

Youhua

On Fri, May 1, 2020 at 12:46 PM Patrick Campbell notifications@github.com wrote:

That's great Barry and a good plan we came up with for NACC-CMAQ and adding Fengsha.

These are not the soicro2d files though, they are the Fengsha soil additions to the geofiles I made for reading into NACC (for MODIS LAI, etc). The idea is to then process these geofiles to output the Fengsha needed variables in CMAQ using the NACC soicro2d output.

Thanks,

Patrick

On Fri, May 1, 2020, 10:57 AM Barry Baker notifications@github.com wrote:

I just realized that I need to add the BSM to this file as well

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/noaa-oar-arl/NAQFC/issues/1#issuecomment-622421301, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AGLFYNVGOXK4HMGFXXIEJ2LRPLPMNANCNFSM4MVXWREQ

.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/noaa-oar-arl/NAQFC/issues/1#issuecomment-622464159, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFULDHWR2A5DJ7BAAJJCPCLRPL3YDANCNFSM4MVXWREQ .

bbakernoaa commented 4 years ago

@drnimbusrain Thanks for the clarification. I'll get the changes in.

@ytangnoaa You are correct that there may be some tuning needed for them. The first step is to probably start with what we are using in GEFS-Aerosol. Even at 25 km I'm able to capture the dust events fairly well in North America. There are multiple code changes needed to update the fengsha dust code to what is in GEFS and will be interesting to see the results.

drnimbusrain commented 4 years ago

Great Barry, thanks!

We are modifying NACC and NAQFC CMAQ on their respective repos, and these are the geofiles that will replace the ones I am using now once Fengsha is in NAQFC CMAQ.

On Fri, May 1, 2020, 12:59 PM Barry Baker notifications@github.com wrote:

@drnimbusrain https://github.com/drnimbusrain Thanks for the clarification. I'll get the changes in.

@ytangnoaa https://github.com/ytangnoaa You are correct that there may be some tuning needed for them. The first step is to probably start with what we are using in GEFS-Aerosol. Even at 25 km I'm able to capture the dust events fairly well in North America. There are multiple code changes needed to update the fengsha dust code to what is in GEFS and will be interesting to see the results.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/noaa-oar-arl/NAQFC/issues/1#issuecomment-622470767, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGLFYNRZZSBD4JQX2TM2IT3RPL5XFANCNFSM4MVXWREQ .

bbakernoaa commented 4 years ago

I've cloned the fengsha branch and have begun working on bringing fengsha up to speed with the changes brought about in GEFS-Aerosol.

bbakernoaa commented 4 years ago

Still a work in progress but here is the initial code. Should be a starting off point. I haven't compiled it yet but am working towards it. https://github.com/noaa-oar-arl/NAQFC/blob/fengsha/MOD/src/FENGSHA.F

bbakernoaa commented 4 years ago

@drnimbusrain I also removed all the .o files in the MOD/src directory

drnimbusrain commented 4 years ago

@bbakernoaa This is great progress, and we can work together when you are ready for testing with NACC-CMAQ.

bbakernoaa commented 4 years ago

I have updated the code to the point it is ready to compile, commit 083bf92. Currently not sure if it will work or not but the diagnostics are probably going to write variables in the wrong index right now.

I still need to update the climatology values for SSM and UTHRES in the new gridcro2d files for NACC. Once this is completed we should be ready for some tests. @drnimbusrain

@rdsaylor-noaa @dtonggmu I think that this should also be able to work for the CAM-CMAQ according to what was in Raffaele's slides. That is good news as it means less development on our end along with increase testing.

drnimbusrain commented 4 years ago

@bbakernoaa @ytangnoaa @dtonggmu @piusclee @rdsaylor-noaa

Fengsha in NACC-CMAQ updates:

I have now incorporated Fengsha processing into NACC code (Fengsha branch on repo) and have been testing CMAQv5.3.1 Fengsha changes in NAQFC (Fengsha branch on repo).  We thought it was best to streamline Barry's Fengsha variables (CLAYF, SANDF, SSM, DRAG, and UTHR) through the NACC code and monthly climatological geofiles, to process them into the metcro2d files ready for CMAQ. 

Here are Fengsha needed variables in test metcro2d files for July: image image image image image

@bbakernoaa Do these look reasonable?

I am now testing NACC-CMAQv5.3.1 (w/Fengsha+) to debug code and evaluate July-Aug 2019 preliminary results. As noted, we may need a good dust case (dependent on GFSv16 model hourly output availability) and tuning may be necessary, so we can work together here with results to decide best course of action.

@ytangnoaa The NACC-CMAQ code modifications will need to be merged from respective NACC (parallel/src) and NAQFC (MOD/src) repositories for EMC delivery (i.e., NAQFC-WCOSS repo).

Thank you,

Patrick

ytangnoaa commented 4 years ago

Patrick

Please go head to test it. Be careful about the dust false alarm, as it could make Jeff nervous.

Ho-Chun encountered an issue for running 18Z. I checked and found a bug in CMAQ 5.3.1 for reading LBC, which assumes that all LBC are in a time interval of 1 hour. Our GEFS LBC are in 6 hours.

Thanks

Youhua

On Tue, Jun 30, 2020 at 12:11 PM Patrick Campbell notifications@github.com wrote:

@bbakernoaa https://github.com/bbakernoaa @ytangnoaa https://github.com/ytangnoaa @dtonggmu https://github.com/dtonggmu @piusclee https://github.com/piusclee @rdsaylor-noaa https://github.com/rdsaylor-noaa

Fengsha in NACC-CMAQ updates:

I have now incorporated Fengsha processing into NACC code (Fengsha branch on repo) and have been testing CMAQv5.3.1 Fengsha changes in NAQFC (Fengsha branch on repo). We thought it was best to streamline Barry's Fengsha variables (CLAYF, SANDF, SSM, DRAG, and UTHR) through the NACC code and monthly climatological geofiles, to process them into the metcro2d files ready for CMAQ.

Here are test metcro2d files for July: [image: image] https://user-images.githubusercontent.com/26631222/86058485-fa5ecc00-ba2e-11ea-9ea3-7541dacdaf0e.png [image: image] https://user-images.githubusercontent.com/26631222/86058577-1f533f00-ba2f-11ea-9e96-be6ea3d739c3.png [image: image] https://user-images.githubusercontent.com/26631222/86058618-3003b500-ba2f-11ea-83c9-30a62e275023.png [image: image] https://user-images.githubusercontent.com/26631222/86058652-3eea6780-ba2f-11ea-9966-b5678a31adbb.png [image: image] https://user-images.githubusercontent.com/26631222/86149737-62162500-baca-11ea-9969-e9965d42f931.png

@bbakernoaa https://github.com/bbakernoaa Do these look reasonable?

I am now testing NACC-CMAQv5.3.1 (w/Fengsha+) to debug code and evaluate July-Aug 2019 preliminary results. As noted, we may need a good dust case (dependent on GFSv16 model hourly output availability) and tuning may be necessary, so we can work together here with results to decide best course of action.

@ytangnoaa https://github.com/ytangnoaa The NACC-CMAQ code modifications will need to be merged from respective NACC (parallel/src) and NAQFC (MOD/src) repositories for EMC delivery (i.e., NAQFC-WCOSS repo).

Thank you,

Patrick

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/noaa-oar-arl/NAQFC/issues/1#issuecomment-651895081, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFULDHVEG62CVDV2SBEKVH3RZIFCTANCNFSM4MVXWREQ .

drnimbusrain commented 4 years ago

Thank you @ytangnoaa . Please let me know of all CMAQ bugs and the appropriate time/place to pick up the code so that I can make sure that our NAQFC and NAQFC-WCOSS CMAQ codes are synchronized with the many changes.

Also for these and other bugs/changes (e.g., RWC emissions), please also let me know of approximate impacts on CMAQ results so we know if we need to re-run the August 2019 testbed simulations for paper/presentations. Thanks again.

bbakernoaa commented 4 years ago

@ytangnoaa @piusclee @dtonggmu

I believe that fengsha has been successfully ported to the NACC-CMAQv5.3.1 system. Here we artificially lowered the threshold over a single soil type to test the scheme. It seems to be working pretty well. We will need multiple test cases to ensure the scheme and thresholds are set appropriately.

Note that this does include several options for us going forward

image