-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement GaoOneill raw urban datasets and OlesonFeddema urban properties into mksurfdata_esmf. #1853
Implement GaoOneill raw urban datasets and OlesonFeddema urban properties into mksurfdata_esmf. #1853
Changes from 1 commit
146b6bd
1fbbe0c
97b9372
7012608
510bf21
0d60466
4083aa4
49885f5
1cb9b54
314510e
88f0239
b6a58cd
540d0c9
5dded32
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,6 +29,7 @@ module surfrdMod | |
! !PUBLIC MEMBER FUNCTIONS: | ||
public :: surfrd_get_data ! Read surface dataset and determine subgrid weights | ||
public :: surfrd_get_num_patches ! Read surface dataset to determine maxsoil_patches and numcft | ||
public :: surfrd_get_nlevurb ! Read surface dataset to determine nlevurb | ||
|
||
! !PRIVATE MEMBER FUNCTIONS: | ||
private :: surfrd_special ! Read the special landunits | ||
|
@@ -300,6 +301,48 @@ subroutine surfrd_get_num_patches (lfsurdat, actual_maxsoil_patches, actual_numc | |
|
||
end subroutine surfrd_get_num_patches | ||
|
||
!----------------------------------------------------------------------- | ||
subroutine surfrd_get_nlevurb (lfsurdat, actual_nlevurb) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
You performed thorough testing using mksurfdata_esmf. Did you subsequently start a model simulation to confirm that your mods worked? I'm guessing that system testing would not work unless you also pointed to the newly created fsurdat files. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, I successfully ran a historical simulation (at least for 20 years, the simulation is ongoing) and pointed to the new surface dataset and landuse timeseries file in user_nl_clm. I didn't want to spend a lot of computer time running simulations for all of those scenarios. I'm also not that familiar with the tools system testing. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sounds good to me. For system testing, I was referring to the ./run_sys_tests rather than the tools testing. Again, though, I wouldn't worry about it because many (most? all?) of the tests would require that you point them to your new fsrudat files. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sam should generate a temporary set of fsurdat files to run ./run_sys_tests There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
IN PROGRESS: Generating all fsurdat files using There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Started cheyenne's test-suite pointing to the default fsurdat files (not, yet, the new ones that I'm generating). I realized that the old files already include nlevurb. Keith had made that clear in note (1c) above (sorry, I forgot having read that). Tests are passing, though some differ from the baseline (dev090) because we're pointing to this new file as explained in note 1b above: So now I'm rethinking the purpose of this test. I could rerun the test-suite without the new file from note 1b to confirm no diffs from baseline. Then there's the new urban raw data (note 1a) going into the fsurdat files that I am generating. I vote against running the full test-suite for this. We have several new raw datasets coming with #1732 . I expect each one will lead to diffs from the baseline. I have not started generating new fsurdat files for the other new raw datasets. I prefer to do that once in the end for all of them. The complete generation of new surface datasets is time consuming. I'm open to differing views. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Discussed this with @ekluzek and agreed that the above approach is fine:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The cheyenne test-suite finished and two tests FAIL: |
||
! | ||
! !DESCRIPTION: | ||
! Read nlevurb from the surface dataset | ||
! | ||
! !USES: | ||
use fileutils , only : getfil | ||
! | ||
! !ARGUMENTS: | ||
character(len=*), intent(in) :: lfsurdat ! surface dataset filename | ||
integer, intent(out) :: actual_nlevurb ! nlevurb from surface dataset | ||
! | ||
! !LOCAL VARIABLES: | ||
character(len=256):: locfn ! local file name | ||
type(file_desc_t) :: ncid ! netcdf file id | ||
integer :: dimid ! netCDF dimension id | ||
character(len=32) :: subname = 'surfrd_get_nlevurb' ! subroutine name | ||
!----------------------------------------------------------------------- | ||
|
||
if (masterproc) then | ||
write(iulog,*) 'Attempting to read nlevurb from the surface data .....' | ||
if (lfsurdat == ' ') then | ||
write(iulog,*)'lfsurdat must be specified' | ||
call endrun(msg=errMsg(sourcefile, __LINE__)) | ||
endif | ||
endif | ||
|
||
! Open surface dataset | ||
call getfil( lfsurdat, locfn, 0 ) | ||
call ncd_pio_openfile (ncid, trim(locfn), 0) | ||
|
||
! Read nlevurb | ||
call ncd_inqdlen(ncid, dimid, actual_nlevurb, 'nlevurb') | ||
|
||
if ( masterproc )then | ||
write(iulog,*) 'Successfully read nlevurb from the surface data' | ||
write(iulog,*) | ||
end if | ||
|
||
end subroutine surfrd_get_nlevurb | ||
|
||
!----------------------------------------------------------------------- | ||
subroutine surfrd_special(begg, endg, ncid, ns) | ||
! | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -97,7 +97,19 @@ | |
|
||
<mksrf_furban> | ||
<entry> | ||
<data_filename>lnd/clm2/rawdata/mksrf_urban_0.05x0.05_simyr2000.c220127.nc</data_filename> | ||
<data_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/Historical/urban_properties_GaoOneil_05deg_ThreeClass_2000_c20220910.nc</data_filename> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @ekluzek 's comment There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Assigning to @slevisconsulting There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sam also needs to copy the new files to lnd/clm2/rawdata and run There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_3x3min_nomask_cdf5_c200129.nc</mesh_filename> | ||
</entry> | ||
<entry pft_years="1850"> | ||
<data_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/Historical/urban_properties_GaoOneil_05deg_ThreeClass_1850_c20220910.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_3x3min_nomask_cdf5_c200129.nc</mesh_filename> | ||
</entry> | ||
<entry pft_years="2000"> | ||
<data_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/Historical/urban_properties_GaoOneil_05deg_ThreeClass_2000_c20220910.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_3x3min_nomask_cdf5_c200129.nc</mesh_filename> | ||
</entry> | ||
slevis-lmwg marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<entry pft_years="2005"> | ||
<data_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/Historical/urban_properties_GaoOneil_05deg_ThreeClass_2005_c20220910.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_3x3min_nomask_cdf5_c200129.nc</mesh_filename> | ||
</entry> | ||
<entry pft_years="PtVg"> | ||
|
@@ -252,7 +264,7 @@ version of the raw dataset will probably go away. | |
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c20220305/mksrf_landuse_ctsm52_histLUH2_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/Historical/urban_properties_GaoOneil_05deg_ThreeClass_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
|
||
</mksrf_fvegtyp> | ||
|
@@ -266,49 +278,49 @@ version of the raw dataset will probably go away. | |
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP1RCP26_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP1/urban_properties_GaoOneil_05deg_ThreeClass_ssp1_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP1-RCP 1.9 --> | ||
<entry ssp_rcp="SSP1-1.9" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP1RCP19_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP1/urban_properties_GaoOneil_05deg_ThreeClass_ssp1_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP2-RCP 4.5 --> | ||
<entry ssp_rcp="SSP2-4.5" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP2RCP45_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP2/urban_properties_GaoOneil_05deg_ThreeClass_ssp2_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP3-RCP 7.0 --> | ||
<entry ssp_rcp="SSP3-7.0" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP3RCP70_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP3/urban_properties_GaoOneil_05deg_ThreeClass_ssp3_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP4-RCP 3.4 --> | ||
<entry ssp_rcp="SSP4-3.4" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP4RCP34_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP4/urban_properties_GaoOneil_05deg_ThreeClass_ssp4_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP4-RCP 6.0 --> | ||
<entry ssp_rcp="SSP4-6.0" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP4RCP60_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP4/urban_properties_GaoOneil_05deg_ThreeClass_ssp4_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
<!-- SSP5-RCP 8.5 --> | ||
<entry ssp_rcp="SSP5-8.5" pft_years_ssp="2016-2100" > | ||
<data_filename>lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-8.5.simyr2015-2100.c20220305/mksrf_landuse_ctsm52_SSP5RCP85_%y.c220305.nc</data_filename> | ||
<mesh_filename>lnd/clm2/mappingdata/grids/UNSTRUCTgrid_0.25x0.25_nomask_cdf5_c200129.nc</mesh_filename> | ||
<lake_filename>/glade/p/cgd/tss/people/slevis/transient_lake_data/mksurf_lake_0.05x0.05_hist_clm5_hydrolakes_%y.cdf5.c20220325.nc</lake_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/slevis/transient_urban_data/05deg_%y_NoAdjust.cdf5.c20220325.nc</urban_filename> | ||
<urban_filename>/glade/p/cgd/tss/people/oleson/Dynamic_Urban_Data/GaoOneil/PCTURB_GRID/SSP5/urban_properties_GaoOneil_05deg_ThreeClass_ssp5_%y_c20220910.nc</urban_filename> | ||
</entry> | ||
|
||
</mksrf_fvegtyp_ssp> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comments from @ekluzek
CLM52_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c200605.nc
and is it still based on Oleson (2016) or a newer publication?
rimport
to get the file in the repository.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. I've rename the file appropriately:
/glade/p/cgd/tss/people/oleson/urban_sfcdata/Feddema_urban_data_080410/HIGH_RES_VERSION2/URBAN_PROPERTIES_THESIS_TOOL/JUN_22_2018/CTSM52_tbuildmax_OlesonFeddema_2020_0.9x1.25_simyr1849-2106_c200605.nc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the file name in bld/namelist_files/namelist_defaults_ctsm.xml and pushed to the branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Completed this "rimport"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@slevisconsulting this file needs to be copied over to inputdata/lnd/clm2/urbandata so that it can be automatically downloaded. Having the full path allows this to run on cheyenne, but the general operation needs it to be under the inputdata directory structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ekluzek thank you. I copied the file correctly but neglected to explicitly say so by committing & pushing the relevant change in
namelist_defaults_ctsm.xml
because I still have to copy and rimport the transient urban files. Doing that next.