Skip to content

Commit

Permalink
Merge pull request #1 from annefou/cice5_20181109-Nor
Browse files Browse the repository at this point in the history
Cice5 20181109 nor
  • Loading branch information
DirkOlivie authored Mar 18, 2020
2 parents 2161429 + 4c5ac59 commit c436361
Show file tree
Hide file tree
Showing 17 changed files with 747 additions and 61 deletions.
2 changes: 1 addition & 1 deletion bld/check_decomp.csh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/csh

set res = (gx3v7 gx1v6 tx0.1v2 ne240np4)
set res = (gx3v7 gx1v6 tx0.1v2 ne240np4 tnx1v1 tnx0.25v1 tnx1v3 tnx1v4)
set pe1 = (1 1 1 1)
set pex = (500 4000 60000 60000)

Expand Down
3 changes: 3 additions & 0 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,10 @@ def _create_namelists(case, confdir, infile, nmlgen):

cice_mode = case.get_value("CICE_MODE")
hgrid = case.get_value('ICE_GRID')
ocn_model = case.get_value('COMP_OCN')
config['hgrid'] = hgrid
config['cice_mode'] = cice_mode
config['ocn_model'] = ocn_model

cice_config_opts = case.get_value('CICE_CONFIG_OPTS')
if "cice5" in cice_config_opts:
Expand Down Expand Up @@ -149,6 +151,7 @@ def _create_namelists(case, confdir, infile, nmlgen):
'dynamics_nml',
'shortwave_nml',
'ponds_nml',
'snowphys_nml',
'forcing_nml',
'domain_nml',
'zbgc_nml',
Expand Down
16 changes: 4 additions & 12 deletions cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
<entry_id version="3.0">

<description>
<desc ice="CICE[%PRES][%CMIP6]">Sea ICE (cice) model version 5</desc>
<desc ice="CICE[%PRES][%CMIP6][%NORESM-CMIP6]">Sea ICE (cice) model version 5</desc>
<desc option="PRES" > :prescribed cice</desc>
<desc option="CMIP6"> :with modifications appropriate for CMIP6 experiments</desc>
<desc option="NORESM-CMIP6"> :with NORESM modifications appropriate for CMIP6 experiments</desc>
</description>

<entry id="COMP_ICE">
Expand Down Expand Up @@ -50,17 +51,6 @@
</desc>
</entry>

<entry id="CICE_NAMELIST_OPTS">
<type>char</type>
<default_value></default_value>
<values>
<value compset="_CAM4">cam4=.true.</value>
</values>
<group>run_component_cice</group>
<file>env_run.xml</file>
<desc>CICE specific namelist settings for -namelist option</desc>
</entry>

<entry id="CICE_AUTO_DECOMP">
<type>logical</type>
<valid_values>true,false</valid_values>
Expand Down Expand Up @@ -156,6 +146,8 @@
<values match="last">
<value
compset="_CICE[^_]*%CMIP6">$SRCROOT/components/cice/cime_config/usermods_dirs/cmip6</value>
<value
compset="_CICE[^_]*%NORESM-CMIP6">$SRCROOT/components/cice/cime_config/usermods_dirs/noresm-cmip6</value>
</values>
<group>run_component_cice</group>
<file>env_case.xml</file>
Expand Down
120 changes: 108 additions & 12 deletions cime_config/namelist_definition_cice.xml
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,13 @@
<values>
<value>bin</value>
<value cice_mode="prescribed">nc</value>
<value hgrid="tnx2v1">bin</value>
<value hgrid="tnx1v1">bin</value>
<value hgrid="tnx1v3">bin</value>
<value hgrid="tnx1v4">bin</value>
<value hgrid="tnx0.25v1">bin</value>
<value hgrid="tnx0.25v3">bin</value>
<value hgrid="tnx0.25v4">bin</value>
</values>
</entry>

Expand All @@ -396,6 +403,13 @@
<value hgrid="tx1v1">tripole</value>
<value hgrid="ar9v3">regional</value>
<value hgrid="ar9v4">regional</value>
<value hgrid="tnx2v1">tripole</value>
<value hgrid="tnx1v1">tripole</value>
<value hgrid="tnx1v3">tripole</value>
<value hgrid="tnx1v4">tripole</value>
<value hgrid="tnx0.25v1">tripole</value>
<value hgrid="tnx0.25v3">tripole</value>
<value hgrid="tnx0.25v4">tripole</value>
</values>
</entry>

Expand All @@ -418,6 +432,13 @@
<value hgrid="ar9v3">$DIN_LOC_ROOT/ice/cice/ar9v3_20101118.grid</value>
<value hgrid="ar9v4">$DIN_LOC_ROOT/ice/cice/ar9v3_20101118.grid</value>
<value hgrid="us20">$DIN_LOC_ROOT/ice/cice/domain.ocn.us20.20110426.nc</value>
<value hgrid="tnx2v1">$DIN_LOC_ROOT/ocn/pop/tnx2v1/grid/horiz_grid_20130206.ieeer8</value>
<value hgrid="tnx1v1">$DIN_LOC_ROOT/ocn/pop/tnx1v1/grid/horiz_grid_20120120.ieeer8</value>
<value hgrid="tnx1v3">$DIN_LOC_ROOT/ocn/micom/tnx1v3/20170612/horiz_grid_20170612.ieeer8</value>
<value hgrid="tnx1v4">$DIN_LOC_ROOT/ocn/micom/tnx1v4/20170601/horiz_grid_20170601.ieeer8</value>
<value hgrid="tnx0.25v1">$DIN_LOC_ROOT/ocn/pop/tnx0.25v1/grid/horiz_grid_20130930.ieeer8</value>
<value hgrid="tnx0.25v3">$DIN_LOC_ROOT/ocn/micom/tnx0.25v3/20170623/horiz_grid_20170623.ieeer8</value>
<value hgrid="tnx0.25v4">$DIN_LOC_ROOT/ocn/micom/tnx0.25v4/20170619/horiz_grid_20170619.ieeer8</value>
</values>
</entry>

Expand All @@ -440,6 +461,13 @@
<value hgrid="ar9v3">$DIN_LOC_ROOT/ocn/pop/ar9v3/grid/kmt.ar9v3.ocn.ChanBarrier.20100622.ieeei4</value>
<value hgrid="ar9v4">$DIN_LOC_ROOT/ice/cice/ar9v3_20110106.kmt</value>
<value hgrid="us20">$DIN_LOC_ROOT/ice/cice/domain.ocn.us20.20110426.nc</value>
<value hgrid="tnx2v1">$DIN_LOC_ROOT/ocn/pop/tnx2v1/grid/topography_20130206.ieeei4</value>
<value hgrid="tnx1v1">$DIN_LOC_ROOT/ocn/pop/tnx1v1/grid/topography_20120120.ieeei4</value>
<value hgrid="tnx1v3">$DIN_LOC_ROOT/ocn/micom/tnx1v3/20170612/topography_20170612.ieeei4</value>
<value hgrid="tnx1v4">$DIN_LOC_ROOT/ocn/micom/tnx1v4/20170601/topography_20170601.ieeei4</value>
<value hgrid="tnx0.25v1">$DIN_LOC_ROOT/ocn/pop/tnx0.25v1/grid/topography_20130930.ieeei4</value>
<value hgrid="tnx0.25v3">$DIN_LOC_ROOT/ocn/micom/tnx0.25v3/20170623/topography_20170623.ieeei4</value>
<value hgrid="tnx0.25v4">$DIN_LOC_ROOT/ocn/micom/tnx0.25v4/20170619/topography_20170619.ieeei4</value>
</values>
</entry>

Expand Down Expand Up @@ -539,6 +567,13 @@
<value hgrid ='tx0.1v2'>tripole</value>
<value hgrid ='tx0.1v3'>tripole</value>
<value hgrid ='tx1v1'>tripole</value>
<value hgrid ='tnx2v1'>tripole</value>
<value hgrid ='tnx1v1'>tripole</value>
<value hgrid ='tnx1v3'>tripole</value>
<value hgrid ='tnx1v4'>tripole</value>
<value hgrid ='tnx0.25v1'>tripole</value>
<value hgrid ='tnx0.25v3'>tripole</value>
<value hgrid ='tnx0.25v4'>tripole</value>
</values>
</entry>

Expand Down Expand Up @@ -1337,6 +1372,47 @@
</values>
</entry>

<!-- =========================== -->
<!-- snowphys_nml -->
<!-- =========================== -->

<entry id="blowingsnow">
<type>char</type>
<category>snowphys</category>
<group>snowphys_nml</group>
<desc>
Blowing snow parameterization (none, lecomte2013)
</desc>
<values>
<value>lecomte2013</value>
</values>
</entry>

<entry id="rhos">
<type>real</type>
<category>snowphys</category>
<group>snowphys_nml</group>
<desc>
Constant snow density (real)
</desc>
<values>
<value>330.0</value>
</values>
</entry>

<entry id="ksno">
<type>real</type>
<category>snowphys</category>
<group>snowphys_nml</group>
<desc>
Snow thermal conductivity (real)
</desc>
<values>
<value>0.3</value>
</values>
</entry>


<!-- =========================== -->
<!-- forcing_nml -->
<!-- =========================== -->
Expand Down Expand Up @@ -1451,17 +1527,18 @@
<!-- </values> -->
<!-- </entry> -->

<!-- <entry id="update_ocn_f"> -->
<!-- <type>logical</type> -->
<!-- <category>forcing</category> -->
<!-- <group>forcing_nml</group> -->
<!-- <desc> -->
<!-- include frazil water/salt fluxes in ocean fluxes -->
<!-- </desc> -->
<!-- <values> -->
<!-- <value>.false.</value> -->
<!-- </values> -->
<!-- </entry> -->
<entry id="update_ocn_f">
<type>logical</type>
<category>forcing</category>
<group>forcing_nml</group>
<desc>
include frazil water/salt fluxes in ocean fluxes
</desc>
<values>
<value>.false.</value>
<value ocn_model="micom">.true.</value>
</values>
</entry>

<!-- <entry id="ustar_min"> -->
<!-- <type>real</type> -->
Expand Down Expand Up @@ -2935,7 +3012,24 @@
</values>
</entry>

<entry id="f_dsnow">



<entry id="f_sn2oc">
<type>char</type>
<category>history</category>
<group>icefields_nml</group>
<desc>
</desc>
<values>
<value>mxxxx</value>
<value hgrid="ar9v4">mdhxx</value>
<value cice_mode='prescribed'>xxxxx</value>
</values>
</entry>


<entry id="f_snfonice">
<type>char</type>
<category>history</category>
<group>icefields_nml</group>
Expand All @@ -2948,6 +3042,8 @@
</values>
</entry>



<entry id="f_meltt">
<type>char</type>
<category>history</category>
Expand Down
30 changes: 30 additions & 0 deletions cime_config/usermods_dirs/noresm-cmip6/user_nl_cice
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
!----------------------------------------------------------------------------------
! Users should add all user specific namelist changes below in the form of
! namelist_var = new_namelist_value
! Note - that it does not matter what namelist group the namelist_var belongs to
!----------------------------------------------------------------------------------

histfreq = 'm','d','x','x','x'
histfreq_n = 1,1,1,1,1
f_CMIP = 'mdxxx'
f_hi ="mxxxx"
f_hs="mxxxx"
f_fswdn="mxxxx"
f_fswabs="mxxxx"
f_congel="mxxxx"
f_frazil="mxxxx"
f_meltt="mxxxx"
f_melts="mxxxx"
f_meltb="mxxxx"
f_meltl="mxxxx"
f_fswthru="mxxxx"
f_dvidtt="mxxxx"
f_dvidtd="mxxxx"
f_daidtt="mxxxx"
f_daidtd="mxxxx"
f_apond_ai="mxxxx"
f_hpond_ai="mxxxx"
f_apeff_ai="mxxxx"
f_snowfrac="mxxxx"
f_aicen="mxxxx"
f_snowfracn="mxxxx"
12 changes: 10 additions & 2 deletions src/drivers/cesm/ice_constants.F90
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,20 @@ module ice_constants

public

!jd
!-----------------------------------------------------------------
! physical variables, should not be declared as constants
!-----------------------------------------------------------------
real (kind=dbl_kind) :: &
rhos = 330.0_dbl_kind ,&! density of snow (kg/m^3)
ksno = 0.30_dbl_kind ! thermal conductivity of snow (W/m/deg)
!jd
!-----------------------------------------------------------------
! physical constants
!-----------------------------------------------------------------

real (kind=dbl_kind), parameter :: &
rhos = 330.0_dbl_kind ,&! density of snow (kg/m^3)
!jd rhos = 330.0_dbl_kind ,&! density of snow (kg/m^3)
rhoi = SHR_CONST_RHOICE ,&! density of ice (kg/m^3)
rhow = SHR_CONST_RHOSW ,&! density of seawater (kg/m^3)
cp_air = SHR_CONST_CPDAIR ,&! specific heat of air (J/kg/K)
Expand Down Expand Up @@ -87,7 +95,7 @@ module ice_constants
kice = 2.03_dbl_kind ,&! thermal conductivity of fresh ice(W/m/deg)
kseaice= 2.00_dbl_kind ,&! thermal conductivity of sea ice (W/m/deg)
! (used in zero layer thermodynamics option)
ksno = 0.30_dbl_kind ,&! thermal conductivity of snow (W/m/deg)
!jd ksno = 0.30_dbl_kind ,&! thermal conductivity of snow (W/m/deg)
zref = 10._dbl_kind ,&! reference height for stability (m)
! hs0 = 0.03_dbl_kind, &! parameter for delta-Eddington snow frac
! hsmin = 0.0001_dbl_kind, &! minimum snow thickness for dEdd
Expand Down
8 changes: 5 additions & 3 deletions src/drivers/cesm/ice_prescribed_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,13 @@ module ice_prescribed_mod
real (kind=dbl_kind), parameter :: &
cp_sno = 0.0_dbl_kind & ! specific heat of snow (J/kg/K)
, rLfi = Lfresh*rhoi & ! latent heat of fusion ice (J/m^3)
, rLfs = Lfresh*rhos & ! latent heat of fusion snow (J/m^3)
!jd These are not used in the code and gives compilation error when changing r
!jd rhos to a namelist variable (not parameter)
!jd , rLfs = Lfresh*rhos & ! latent heat of fusion snow (J/m^3)
, rLvi = Lvap*rhoi & ! latent heat of vapor*rhoice (J/m^3)
, rLvs = Lvap*rhos & ! latent heat of vapor*rhosno (J/m^3)
!jd , rLvs = Lvap*rhos & ! latent heat of vapor*rhosno (J/m^3)
, rcpi = cp_ice*rhoi & ! heat capacity of fresh ice (J/m^3)
, rcps = cp_sno*rhos & ! heat capacity of snow (J/m^3)
!jd , rcps = cp_sno*rhos & ! heat capacity of snow (J/m^3)
, rcpidepressT = rcpi*depressT & ! param for finding T(z) from q (J/m^3)
, rLfidepressT = rLfi*depressT ! param for heat capacity (J deg/m^3)
! heat capacity of sea ice, rhoi*C=rcpi+rLfidepressT*salinity/T^2
Expand Down
Loading

0 comments on commit c436361

Please sign in to comment.