From c6bead858eedffba4775baf046ba05b031dfb3ff Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 7 Apr 2020 00:08:11 -0600 Subject: [PATCH 1/5] Add SSP2-4.5 to the anomoly forcing script, point to a different head directory for the history files --- tools/contrib/ssp_anomaly_forcing_smooth | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/tools/contrib/ssp_anomaly_forcing_smooth b/tools/contrib/ssp_anomaly_forcing_smooth index ad25248b7d..fa2350bcb9 100755 --- a/tools/contrib/ssp_anomaly_forcing_smooth +++ b/tools/contrib/ssp_anomaly_forcing_smooth @@ -52,7 +52,7 @@ This script creates CLM anomaly forcing data print( "Create anomoly forcing data that can be used by CTSM in CESM" ) # Input and output directories make sure they exist -datapath = "/glade/p/cesm/sdwg_dev/thesis/data/cesm_tools/anomalyforcing" # Path on cheyenne +datapath = "/glade/p/cgd/tss/historyfiles/" # Path on cheyenne spath = './' if ( os.path.exists(datapath) ): print( "Input data directory:"+datapath ) @@ -67,24 +67,29 @@ else: today = datetime.date.today() creationdate = "_c"+today.strftime( "%Y%m%d" ) historydate = today.strftime( "%a %b %d %Y" ) -sspnum = 3 +sspnum = 4 smoothsize = 5 +hist_case = 'b.e21.BHIST.f09_g17.CMIP6-historical.010' + if sspnum == 1: # SSP1-26 ssptag = 'SSP1-2.6' - hist_case = 'b.e21.BHIST.f09_g17.CMIP6-historical.010' fut_case = 'b.e21.BSSP126cmip6.f09_g17.CMIP6-SSP1-2.6.001' -if sspnum == 2: +elif sspnum == 2: # SSP3-70 ssptag = 'SSP3-7.0' - hist_case = 'b.e21.BHIST.f09_g17.CMIP6-historical.010' fut_case = 'b.e21.BSSP370cmip6.f09_g17.CMIP6-SSP3-7.0.001' -if sspnum == 3: +elif sspnum == 3: # SSP5-85 ssptag = 'SSP5-8.5' - hist_case = 'b.e21.BHIST.f09_g17.CMIP6-historical.010' fut_case = 'b.e21.BSSP585cmip6.f09_g17.CMIP6-SSP5-8.5.001' +elif sspnum == 4: + # SSP2-45 + ssptag = 'SSP2-4.5' + fut_case = 'b.e21.BSSP245cmip6.f09_g17.CMIP6-SSP2-4.5.001' +else: + sys.exit( "sspnum is out of range: "+sspnum ) sspoutdir = 'anomaly_forcing/CMIP6-'+ssptag @@ -121,7 +126,7 @@ futnm = nmo*fut_nyrs totnm = nmo*tot_nyrs outnm = nmo*fut_nyrs -dpath = datapath + '/historyfiles/' +dpath = datapath dfile = '/lnd/proc/tseries/month_1/' hdir = dpath+hist_case+dfile fdir = dpath+fut_case+dfile From 26e2faa68ae09e1f651c2c9dc3983f7df1660c9a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 7 Apr 2020 00:09:34 -0600 Subject: [PATCH 2/5] Set irrigate to on for 2100-2300 extensions --- bld/namelist_files/namelist_defaults_clm4_5.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bld/namelist_files/namelist_defaults_clm4_5.xml b/bld/namelist_files/namelist_defaults_clm4_5.xml index 93cdc6420f..8254d3f94a 100644 --- a/bld/namelist_files/namelist_defaults_clm4_5.xml +++ b/bld/namelist_files/namelist_defaults_clm4_5.xml @@ -112,6 +112,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. .false. .false. +.true. +.false. +.false. .false. .true. From 565c9b41b6ed9f505a0b6ccc14ce852fd4dc7b36 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 7 Apr 2020 00:55:43 -0600 Subject: [PATCH 3/5] Change some of the units to be UDUNITS compliant for #966 --- src/biogeochem/CNVegStateType.F90 | 6 +++--- src/biogeophys/PhotosynthesisMod.F90 | 8 ++++---- src/biogeophys/WaterfluxType.F90 | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/biogeochem/CNVegStateType.F90 b/src/biogeochem/CNVegStateType.F90 index 85d18431c9..afdfa190aa 100644 --- a/src/biogeochem/CNVegStateType.F90 +++ b/src/biogeochem/CNVegStateType.F90 @@ -321,17 +321,17 @@ subroutine InitHistory(this, bounds) ptr_col=this%nfire_col) this%farea_burned_col(begc:endc) = spval - call hist_addfld1d (fname='FAREA_BURNED', units='proportion/sec', & + call hist_addfld1d (fname='FAREA_BURNED', units='s-1', & avgflag='A', long_name='timestep fractional area burned', & ptr_col=this%farea_burned_col) this%baf_crop_col(begc:endc) = spval - call hist_addfld1d (fname='BAF_CROP', units='proportion/sec', & + call hist_addfld1d (fname='BAF_CROP', units='s-1', & avgflag='A', long_name='fractional area burned for crop', & ptr_col=this%baf_crop_col) this%baf_peatf_col(begc:endc) = spval - call hist_addfld1d (fname='BAF_PEATF', units='proportion/sec', & + call hist_addfld1d (fname='BAF_PEATF', units='s-1', & avgflag='A', long_name='fractional area burned in peatland', & ptr_col=this%baf_peatf_col) diff --git a/src/biogeophys/PhotosynthesisMod.F90 b/src/biogeophys/PhotosynthesisMod.F90 index b5f2a67810..4406576ff9 100644 --- a/src/biogeophys/PhotosynthesisMod.F90 +++ b/src/biogeophys/PhotosynthesisMod.F90 @@ -360,14 +360,14 @@ subroutine InitHistory(this, bounds) ! Don't output photosynthesis variables when FATES is on as they aren't calculated if (.not. use_fates) then this%fpsn_patch(begp:endp) = spval - call hist_addfld1d (fname='FPSN', units='umol/m2s', & + call hist_addfld1d (fname='FPSN', units='umol m-2 s-1', & avgflag='A', long_name='photosynthesis', & ptr_patch=this%fpsn_patch, set_lake=0._r8, set_urb=0._r8) ! Don't by default output this rate limiting step as only makes sense if you are outputing ! the others each time-step this%fpsn_wc_patch(begp:endp) = spval - call hist_addfld1d (fname='FPSN_WC', units='umol/m2s', & + call hist_addfld1d (fname='FPSN_WC', units='umol m-2 s-1', & avgflag='I', long_name='Rubisco-limited photosynthesis', & ptr_patch=this%fpsn_wc_patch, set_lake=0._r8, set_urb=0._r8, & default='inactive') @@ -375,7 +375,7 @@ subroutine InitHistory(this, bounds) ! Don't by default output this rate limiting step as only makes sense if you are outputing ! the others each time-step this%fpsn_wj_patch(begp:endp) = spval - call hist_addfld1d (fname='FPSN_WJ', units='umol/m2s', & + call hist_addfld1d (fname='FPSN_WJ', units='umol m-2 s-1', & avgflag='I', long_name='RuBP-limited photosynthesis', & ptr_patch=this%fpsn_wj_patch, set_lake=0._r8, set_urb=0._r8, & default='inactive') @@ -383,7 +383,7 @@ subroutine InitHistory(this, bounds) ! Don't by default output this rate limiting step as only makes sense if you are outputing ! the others each time-step this%fpsn_wp_patch(begp:endp) = spval - call hist_addfld1d (fname='FPSN_WP', units='umol/m2s', & + call hist_addfld1d (fname='FPSN_WP', units='umol m-2 s-1', & avgflag='I', long_name='Product-limited photosynthesis', & ptr_patch=this%fpsn_wp_patch, set_lake=0._r8, set_urb=0._r8, & default='inactive') diff --git a/src/biogeophys/WaterfluxType.F90 b/src/biogeophys/WaterfluxType.F90 index 40dd0f5979..16b7217873 100644 --- a/src/biogeophys/WaterfluxType.F90 +++ b/src/biogeophys/WaterfluxType.F90 @@ -475,7 +475,7 @@ subroutine InitHistory(this, bounds) ptr_patch=this%qflx_evap_veg_patch, default='inactive', c2l_scale_type='urbanf') this%qflx_evap_tot_patch(begp:endp) = spval - call hist_addfld1d (fname='QFLX_EVAP_TOT', units='mm H2O/s', & + call hist_addfld1d (fname='QFLX_EVAP_TOT', units='kg m-2 s-1', & avgflag='A', long_name='qflx_evap_soi + qflx_evap_can + qflx_tran_veg', & ptr_patch=this%qflx_evap_tot_patch, c2l_scale_type='urbanf') From f4fb1ffd05117e146ae9b89f6651b688ecdc7e1f Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 7 Apr 2020 01:53:41 -0600 Subject: [PATCH 4/5] Change zero_nonveg_pfts to zero_nonveg_landunits according to #935 --- tools/contrib/singlept | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index d8c344f53e..076e67453b 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -116,7 +116,7 @@ datm_eyr=2014 #-- Modify landunit structure overwrite_single_pft = True dominant_pft = 7 #BETr -zero_nonveg_pfts = True +zero_nonveg_landunits= True uniform_snowpack = True no_saturation_excess = True @@ -204,7 +204,7 @@ if create_surfdata: if overwrite_single_pft: f3['PCT_NAT_PFT'][:,:,:] = 0 f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - if zero_nonveg_pfts: + if zero_nonveg_landunits: f3['PCT_NATVEG'][:,:] = 100 f3['PCT_CROP'][:,:] = 0 f3['PCT_LAKE'][:,:] = 0. @@ -233,7 +233,7 @@ if create_surfdata: f1.to_netcdf(path='~/junk.nc', mode='w') #f1.to_netcdf(path=fsurf2, mode='w') f1.close() - if zero_nonveg_pfts: + if zero_nonveg_landunits: #f1 = xr.open_dataset(fsurf2) f1 = xr.open_dataset('~/junk.nc') f1['PCT_NATVEG'] = 100 From a8b720cc174aee0491daa45dafdbacf0f20a97db Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 7 Apr 2020 13:21:40 -0600 Subject: [PATCH 5/5] Update the change files --- doc/ChangeSum | 1 + doc/release-clm5.0.ChangeLog | 91 ++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/doc/ChangeSum b/doc/ChangeSum index 4d0e951cd7..b0857917b4 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ +release-clm5.0.33 erik 04/07/2020 Turn irrigation on for 2300 SSP extensions release-clm5.0.32 erik 04/02/2020 Extensions to 2300 for SSP5-8.5,SSP5-3.4, and SSP1-2.6 release-clm5.0.31 erik 03/29/2020 Bring in raw datasets for 2100-2300 extension for SSP5-8.5/3.5 and SSP1-2.6, some other misc. changes release-clm5.0.30 erik 01/21/2020 Update FATES to sci.1.30.0_api.8.0.0 diff --git a/doc/release-clm5.0.ChangeLog b/doc/release-clm5.0.ChangeLog index 279699fa1a..06bccbf9e4 100644 --- a/doc/release-clm5.0.ChangeLog +++ b/doc/release-clm5.0.ChangeLog @@ -1,4 +1,95 @@ =============================================================== +Tag name: release-clm5.0.33 +Originator(s): erik (Erik Kluzek) +Date: Tue Apr 7 13:21:28 MDT 2020 +One-line Summary: Turn irrigation on for 2300 SSP extensions + +Purpose of this version: +------------------------ + +Irrigation was turned off for the 2300 extensions. This turns it on. Also add SSP2-4.5 to the +anomaly forcing script. + +CTSM Master Tag This Corresponds To: ctsm1.0.dev025 (with many other changes) + +Summary of changes: +------------------- + +Issues fixed (include CTSM Issue #): #974 #972 #966 + #974 -- Python3 problem in SSP test + #972 -- Irrigate is turned off for the 2300 extensions + #966 -- Units for a few history fields needs to change for ILAMB + +Science changes since: release-clm5.0.32 + Irrigation is now properly turned on for the 2100-2300 SSP extensions + Change some units of history fields + +Software changes since: release-clm5.0.32 + Anomaly forcing script can now do SSP2-4.5 + Small changes to anomoly forcing script and singlept script + +Changes to User Interface since: release-clm5.0.32 + +Testing: +-------- + + [PASS means all tests PASS and OK means tests PASS other than expected fails.] + + build-namelist tests: + + cheyenne - PASS (two tests are different than before because of irrigate) + + unit-tests (components/clm/src): + + cheyenne - PASS + + tools-tests (components/clm/test/tools): None + + PTCLM testing (components/clm/tools/shared/PTCLM/test): None + + regular tests (aux_clm): + + cheyenne_intel ---- OK + cheyenne_gnu ------ OK + izumi_nag --------- PASS + izumi_pgi --------- PASS + izumi_intel ------- PASS + +Summary of Answer changes: +------------------------- + +If the tag used for baseline comparisons was NOT the previous tag, note that here: previous + +Changes answers relative to baseline: + + Summarize any changes to answers, i.e., + - what code configurations: + - what platforms/compilers: All + - nature of change: Climate changing as irrigation is on + + Will new REFCASES need to be made for cesm and/or CAM?: No + (This will likely be true if the LII tests failed) + +Detailed list of changes: +------------------------ + +Externals being used: No updates + + cism: cism-release-cesm2.1.2_04 + rtm: release-cesm2.0.04 + mosart: release-cesm2.0.04 + cime: cim5.6.33 + FATES: sci.1.30.0_api.8.0.0 + PTCLM: PTCLM2_20200121 + +CTSM Tag versions pulled over from master development branch: None + +Pull Requests that document the changes (include PR ids): #975 +(https://github.com/ESCOMP/ctsm/pull) + #975 -- fix irrigate for 2300 extensions + +=============================================================== +=============================================================== Tag name: release-clm5.0.32 Originator(s): erik (Erik Kluzek) Date: Thu Apr 2 00:23:04 MDT 2020