Skip to content
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

Add CICE 6 albedos #55

Merged
merged 89 commits into from
Jul 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
6e43394
addition of tests to testlist_drv.xml for cime testlists
Mar 25, 2021
4517aea
Merge remote-tracking branch 'origin/master' into mvertens/new_cesmtests
Mar 28, 2021
19a4f9c
bug fix for co2_ppmv for C1850ECO
Mar 28, 2021
ac59e2e
Merge pull request #173 from mvertens/mvertens/new_cesmtests
mvertens Mar 29, 2021
b58b78e
incorporation of ocean precipitation factor and bug fixes
Feb 19, 2021
be4ca24
minor cleanup updates
Feb 25, 2021
67d02d7
backed out changes in namelist_definition_drv.xml
Mar 29, 2021
09b453f
updates for precipitation factors from pop
Mar 29, 2021
a33c34e
changes to get precipation factors from pop and scale rain and snow b…
Mar 29, 2021
abd3ef2
turned debug flag back to 0
Mar 30, 2021
d49d38b
Merge pull request #174 from mvertens/feature/ocn_precip_factors
mvertens Mar 30, 2021
6dad8e4
enable esmf aware threading
jedwards4b Dec 1, 2020
9df8c11
allow esmf aware threading
jedwards4b Dec 4, 2020
c3a25fa
dont use SetVM unless nthrds > 1
jedwards4b Dec 7, 2020
432d8ad
fix issues with cpp macros
jedwards4b Dec 7, 2020
906a483
always use vm for all components if threaded
jedwards4b Dec 14, 2020
eb62213
latest changes
jedwards4b Jan 13, 2021
1eb6e6c
always use setvm
jedwards4b Jan 20, 2021
564dd00
minor changes
jedwards4b Feb 11, 2021
1245983
add ESMF_AWARE_THREADING
jedwards4b Mar 26, 2021
9e88547
drv_threading variable not used
jedwards4b Mar 29, 2021
c12465b
enable esmf aware threading
jedwards4b Dec 1, 2020
7ed4140
allow esmf aware threading
jedwards4b Dec 4, 2020
22a8bd8
latest changes
jedwards4b Jan 13, 2021
ab7c14c
always use setvm
jedwards4b Jan 20, 2021
03bd49f
minor changes
jedwards4b Feb 11, 2021
4ced2ca
add ESMF_AWARE_THREADING
jedwards4b Mar 26, 2021
6f460c7
add a test
jedwards4b Apr 5, 2021
8c91c62
update workflow file
jedwards4b Apr 6, 2021
448a81c
Merge pull request #144 from jedwards4b/fix_avgdt_add_nthreads_to_gcomp
jedwards4b Apr 6, 2021
b4a304f
fix setting of scol_spval for single column functionality
Apr 21, 2021
75b8d75
Merge pull request #176 from mvertens/bugfix/single_column
jedwards4b Apr 21, 2021
d1a0af2
some corrections to the med diag calculations
jedwards4b Apr 27, 2021
ae76bae
fix for gnu
jedwards4b Apr 27, 2021
c0c2001
Merge pull request #177 from jedwards4b/med_diag_corrections
jedwards4b Apr 28, 2021
a2e8091
fixes for multiple ice sheets to be greater than 1
Apr 28, 2021
f8b5e1b
Merge tag 'v0.11.0' into feature/multiple_icesheet_update
Apr 28, 2021
89ba500
fixed compile bug
May 1, 2021
1c2af56
write diags to a seperate file
jedwards4b May 4, 2021
9c48146
update pr template
jedwards4b May 4, 2021
3700e71
fixes to land ice runoff in budget table
May 5, 2021
bb7c520
Merge pull request #178 from jedwards4b/diags_out_file
jedwards4b May 5, 2021
81e1418
Merge pull request #180 from mvertens/feature/fix_lnd_ice_runoff
mvertens May 6, 2021
cec9ed1
update to use annotated tags and cmeps prefix
jedwards4b May 6, 2021
56fbcac
Merge pull request #181 from jedwards4b/make_tags_annotated
jedwards4b May 6, 2021
a203f5e
bump version
jedwards4b May 6, 2021
a0e90a2
Merge pull request #182 from jedwards4b/make_tags_annotated2
jedwards4b May 6, 2021
13e347a
Merge pull request #185 from ESCOMP/feature/multiple_icesheet_update
jedwards4b May 7, 2021
ea047bb
use nexttime rather than currtime to trigger budget output
May 9, 2021
d227909
fixed issue in PR
May 10, 2021
cf0d47b
Merge pull request #189 from mvertens/feature/fix_budget_output
jedwards4b May 11, 2021
275b1a4
fix initial diag counter
jedwards4b May 11, 2021
d865106
add support for stop_option date
jedwards4b May 14, 2021
26da4e3
Merge remote-tracking branch 'jedwards/diag_counter_fix' into feature…
May 16, 2021
801724f
updated run sequence to fix diag problem for wmelt
May 16, 2021
75a5051
Remove unneeded glc_nx and glc_ny drv namelist variables
billsacks May 4, 2021
cb3425b
Remove unused mapping file variables
billsacks May 27, 2021
f5a4123
fixes for memory leak
Jun 1, 2021
94c5881
Merge remote-tracking branch 'escomp/master' into feature/escompPR
DeniseWorthen Jun 1, 2021
924b466
remove debug print statement
jedwards4b Jun 1, 2021
e67f3de
Merge pull request #195 from mvertens/feature/validation_fixes
jedwards4b Jun 1, 2021
c21623b
remove the version ifdef and add the CASE_HASH variable
jedwards4b Jun 2, 2021
0a9702c
fix uninitialized values for AccumCnts
DeniseWorthen Jun 2, 2021
d7c6346
Merge branch 'bugfix/initAccumCnts' into feature/escompPR
DeniseWorthen Jun 3, 2021
d480ecc
Fix namelist variables that weren't being set
billsacks Jun 4, 2021
4214425
Merge pull request #200 from jedwards4b/remove_esmf_version_ifdef
jedwards4b Jun 4, 2021
656198e
Merge pull request #199 from billsacks/glc_multigrids
mvertens Jun 8, 2021
e479157
it turns out that the mpi module does not support functions in the on…
jedwards4b Jun 8, 2021
d9960bd
Merge pull request #201 from billsacks/fix_missing_nml_defaults
jedwards4b Jun 10, 2021
4736b97
Merge pull request #202 from jedwards4b/correct_mpi_use
jedwards4b Jun 10, 2021
b5b67e4
Merge pull request #193 from jedwards4b/add_stop_option_date
jedwards4b Jun 10, 2021
c08337f
Merge pull request #198 from DeniseWorthen/feature/escompPR
jedwards4b Jun 10, 2021
c95b935
validation bug fixes
Jun 11, 2021
1d84704
Merge tag 'cmeps0.13.10' into feature/validation_bugfixes
Jun 14, 2021
d5b8246
removed extraneous do loop
Jun 14, 2021
65045d2
change this from INFO to ERROR
jedwards4b Jun 15, 2021
307d2be
Merge pull request #205 from mvertens/feature/validation_bugfixes
jedwards4b Jun 15, 2021
11bcd20
esmf aware threading now works with esmf 8.2.0b10 or newer
jedwards4b Jun 17, 2021
bce1ecd
move the version check to buildnml for faster feedback to user
jedwards4b Jun 17, 2021
0b2fa2f
Merge pull request #207 from jedwards4b/esmf_aware_threading_fixes
jedwards4b Jun 17, 2021
4f1a4af
fix unitialized variable in timeInit, remove option ifdays0
jedwards4b Jun 25, 2021
537740f
add GPU per node variables from cime PR #3989
jedwards4b Jun 28, 2021
0d54e30
change all shebangs to explicitly use python3
jedwards4b Jun 29, 2021
e4f5384
Merge pull request #210 from jedwards4b/force_py3
jedwards4b Jun 30, 2021
22dc297
Merge pull request #209 from jedwards4b/timeInit_fix
jedwards4b Jun 30, 2021
215bc3b
add albedo fields ice->atm
DeniseWorthen Jul 16, 2021
6709fa4
Merge remote-tracking branch 'escomp/master' into feature/add_albedos
DeniseWorthen Jul 22, 2021
5a6e802
check do_budgets config before initializing diags
DeniseWorthen Jul 23, 2021
fda4da9
add missing isPresent,isSet
DeniseWorthen Jul 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cime_config/buildexe
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

"""
build model executable
Expand Down
2 changes: 1 addition & 1 deletion cime_config/buildnml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
"""Namelist creator for CIME's driver.
"""
import os, sys
Expand Down
26 changes: 23 additions & 3 deletions cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@

<entry id="STOP_OPTION">
<type>char</type>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,date,ifdays0,end</valid_values>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,date,end</valid_values>
<default_value>ndays</default_value>
<group>run_begin_stop_restart</group>
<file>env_run.xml</file>
Expand Down Expand Up @@ -363,7 +363,7 @@

<entry id="REST_OPTION">
<type>char</type>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,date,ifdays0,end</valid_values>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,date,end</valid_values>
<default_value>$STOP_OPTION</default_value>
<group>run_begin_stop_restart</group>
<file>env_run.xml</file>
Expand Down Expand Up @@ -1862,6 +1862,26 @@
<desc>pes or cores per node for accounting purposes </desc>
</entry>

<entry id="NGPUS_PER_NODE">
<type>integer</type>
<default_value>0</default_value>
<values>
<value compiler="pgi-gpu">1</value>
<value compiler="nvhpc-gpu">1</value>
</values>
<group>mach_pes</group>
<file>env_mach_pes.xml</file>
<desc> Number of GPUs per node used for simulation </desc>
</entry>

<entry id="MAX_GPUS_PER_NODE">
<type>integer</type>
<default_value>0</default_value>
<group>mach_pes_last</group>
<file>env_mach_pes.xml</file>
<desc>maximum number of GPUs allowed per node </desc>
</entry>

<entry id="COSTPES_PER_NODE">
<type>integer</type>
<default_value>$MAX_MPITASKS_PER_NODE</default_value>
Expand Down Expand Up @@ -2293,7 +2313,7 @@

<entry id="HIST_OPTION">
<type>char</type>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,date,ifdays0,end</valid_values>
<valid_values>none,never,nsteps,nstep,nseconds,nsecond,nminutes,nminute,nhours,nhour,ndays,nday,nmonths,nmonth,nyears,nyear,end</valid_values>
<default_value>never</default_value>
<group>run_drv_history</group>
<file>env_run.xml</file>
Expand Down
2 changes: 1 addition & 1 deletion cime_config/runseq/driver_config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

# Inherit from the dictionary class
class DriverConfig(dict):
Expand Down
2 changes: 1 addition & 1 deletion cime_config/runseq/gen_runseq.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

class RunSeq:
def __init__(self, outfile):
Expand Down
2 changes: 1 addition & 1 deletion cime_config/runseq/runseq_D.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

import os, shutil, sys
from CIME.utils import expect
Expand Down
2 changes: 1 addition & 1 deletion cime_config/runseq/runseq_TG.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

import os, shutil, sys
from CIME.utils import expect
Expand Down
2 changes: 1 addition & 1 deletion cime_config/runseq/runseq_general.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3

import os, shutil, sys
from CIME.utils import expect
Expand Down
16 changes: 12 additions & 4 deletions mediator/esmFldsExchange_nems_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,6 @@ subroutine esmFldsExchange_nems(gcomp, phase, rc)
end if

! unused fields from ice - but that are needed to be realized by the cice cap
call addfld(fldListFr(compice)%flds, 'Si_avsdf')
call addfld(fldListFr(compice)%flds, 'Si_avsdr')
call addfld(fldListFr(compice)%flds, 'Si_anidf')
call addfld(fldListFr(compice)%flds, 'Si_anidr')
call addfld(fldListFr(compice)%flds, 'Faii_evap')
call addfld(fldListFr(compice)%flds, 'mean_sw_pen_to_ocn')

Expand Down Expand Up @@ -145,6 +141,18 @@ subroutine esmFldsExchange_nems(gcomp, phase, rc)
end do
deallocate(flds)

allocate(flds(4))
flds = (/'avsdr ', 'avsdf ', &
'anidr ', 'anidf '/)
do n = 1,size(flds)
fldname = 'Si_'//trim(flds(n))
call addfld(fldListFr(compice)%flds, trim(fldname))
call addfld(fldListTo(compatm)%flds, trim(fldname))
call addmap(fldListFr(compice)%flds, trim(fldname), compatm, maptype, 'ifrac', 'unset')
call addmrg(fldListTo(compatm)%flds, trim(fldname), mrg_from=compice, mrg_fld=trim(fldname), mrg_type='copy')
end do
deallocate(flds)

! to atm: unmerged surface temperatures from ocn
call addfld(fldListFr(compocn)%flds, 'So_t')
call addfld(fldListTo(compatm)%flds, 'So_t')
Expand Down
17 changes: 12 additions & 5 deletions mediator/med.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1758,6 +1758,7 @@ subroutine DataInitialize(gcomp, rc)
type(ESMF_Field) :: field
type(ESMF_StateItem_Flag) :: itemType
logical :: atCorrectTime, connected
logical :: isPresent, isSet
integer :: n1,n2,n,ns
integer :: nsrc,ndst
integer :: cntn1, cntn2
Expand Down Expand Up @@ -2420,11 +2421,17 @@ subroutine DataInitialize(gcomp, rc)
!---------------------------------------
! Initialize mediator water/heat budget diags
!---------------------------------------
call med_diag_init(gcomp, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
call med_diag_zero(mode='all', rc=rc)

if (ChkErr(rc,__LINE__,u_FILE_u)) return
call NUOPC_CompAttributeGet(gcomp, name="do_budgets", value=cvalue, &
isPresent=isPresent, isSet=isSet, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
if (isPresent .and. isSet) then
if (trim(cvalue) .eq. '.true.') then
call med_diag_init(gcomp, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
call med_diag_zero(mode='all', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
endif
endif

!---------------------------------------
! read mediator restarts
Expand Down
24 changes: 3 additions & 21 deletions nuopc_cap_share/nuopc_shr_methods.F90
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ module nuopc_shr_methods
optNYear = "nyear" , &
optMonthly = "monthly" , &
optYearly = "yearly" , &
optDate = "date" , &
optIfdays0 = "ifdays0"
optDate = "date"

! Module data
integer, parameter :: SecPerDay = 86400 ! Seconds per day
Expand Down Expand Up @@ -572,22 +571,6 @@ subroutine alarmInit( clock, alarm, option, &
if (chkerr(rc,__LINE__,u_FILE_u)) return
update_nextalarm = .false.

case (optIfdays0)
if (.not. present(opt_ymd)) then
call shr_sys_abort(subname//trim(option)//' requires opt_ymd')
end if
if (.not.present(opt_n)) then
call shr_sys_abort(subname//trim(option)//' requires opt_n')
end if
if (opt_n <= 0) then
call shr_sys_abort(subname//trim(option)//' invalid opt_n')
end if
call ESMF_TimeIntervalSet(AlarmInterval, mm=1, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call ESMF_TimeSet( NextAlarm, yy=cyy, mm=cmm, dd=opt_n, s=0, calendar=cal, rc=rc )
if (chkerr(rc,__LINE__,u_FILE_u)) return
update_nextalarm = .true.

case (optNSteps)
if (.not.present(opt_n)) then
call shr_sys_abort(subname//trim(option)//' requires opt_n')
Expand Down Expand Up @@ -808,7 +791,6 @@ subroutine timeInit( Time, ymd, cal, tod, rc)
! local variables
integer :: year, mon, day ! year, month, day as integers
integer :: tdate ! temporary date
integer :: date ! coded-date (yyyymmdd)
character(len=*), parameter :: subname='(timeInit)'
!-------------------------------------------------------------------------------

Expand All @@ -818,9 +800,9 @@ subroutine timeInit( Time, ymd, cal, tod, rc)
call shr_sys_abort( subname//'ERROR yymmdd is a negative number or time-of-day out of bounds' )
end if

tdate = abs(date)
tdate = abs(ymd)
year = int(tdate/10000)
if (date < 0) year = -year
if (ymd < 0) year = -year
mon = int( mod(tdate,10000)/ 100)
day = mod(tdate, 100)

Expand Down