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

Update NUOPC/CMEPS driver #607

Merged
merged 133 commits into from
Jun 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
0338d04
Merge pull request #1 from CICE-Consortium/master
DeniseWorthen Feb 25, 2020
99470ed
Merge pull request #2 from CICE-Consortium/master
DeniseWorthen Mar 7, 2020
71d2ded
Merge pull request #3 from CICE-Consortium/master
DeniseWorthen Apr 2, 2020
d46d691
merge latest master (#4)
DeniseWorthen Apr 22, 2020
183218a
updated orbital calculations needed for cesm
Apr 23, 2020
10e7c20
fixed problems in updated orbital calculations needed for cesm
Apr 29, 2020
ce8e5a9
update CICE6 to support coupling with UFS
apcraig May 10, 2020
8f0b5ee
Merge pull request #2 from apcraig/ufs01
dabail10 May 10, 2020
7ac0e3d
Merge pull request #1 from ESCOMP/nuopc
DeniseWorthen May 12, 2020
80c9e6e
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 May 19, 2020
53715ea
put in changes so that both ufsatm and cesm requirements for potentia…
May 25, 2020
7e43703
Merge pull request #3 from mvertens/mvertens/nuopc
dabail10 May 26, 2020
397e588
Merge remote-tracking branch 'upstream/master'
DeniseWorthen Jun 2, 2020
3bb3694
Convergence on ustar for CICE. (#452) (#5)
DeniseWorthen Jun 5, 2020
f41f1e9
Merge remote-tracking branch 'upstream/nuopc' into HEAD
DeniseWorthen Jun 22, 2020
e70d1ab
update icepack submodule
DeniseWorthen Jun 22, 2020
308a1d4
Revert "update icepack submodule"
DeniseWorthen Jun 22, 2020
7848fdf
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 24, 2020
6982ee4
Merge remote-tracking branch 'upstream/nuopc' into HEAD
DeniseWorthen Jun 25, 2020
089f60f
update comp_ice.backend with temporary ice_timers fix
DeniseWorthen Jun 25, 2020
6affdcf
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 29, 2020
b5a6058
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 1, 2020
415df0e
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 1, 2020
b4da8a6
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 1, 2020
239c7de
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 1, 2020
ad03424
Fix threading problem in init_bgc
dabail10 Jul 1, 2020
73e7774
Fix additional OMP problems
dabail10 Jul 1, 2020
46fcfba
changes for coldstart running
DeniseWorthen Jul 2, 2020
c762336
Move the forapps directory
dabail10 Jul 2, 2020
6bccf71
remove cesmcoupled ifdefs
DeniseWorthen Jul 2, 2020
902e883
Fix logging issues for NUOPC
dabail10 Jul 2, 2020
178693a
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 2, 2020
b4afd2e
removal of many cpp-ifdefs
Jul 4, 2020
3a1b88b
fix compile errors
DeniseWorthen Jul 4, 2020
41855fd
fixes to get cesm working
Jul 4, 2020
aea1aa8
update to latest nuopc changes
Jul 4, 2020
e4c989c
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 6, 2020
30a81cc
fixed white space issue
Jul 7, 2020
8ebdda9
Merge pull request #4 from mvertens/nuopc
dabail10 Jul 7, 2020
27dd3b7
Add restart_coszen namelist option
dabail10 Jul 7, 2020
50bf856
Merge remote-tracking branch 'upstream/master'
DeniseWorthen Jul 7, 2020
6b4a277
Merge branch 'nuopc' into coszen
dabail10 Jul 7, 2020
93f0e86
Merge pull request #5 from ESCOMP/coszen
dabail10 Jul 7, 2020
f92bef3
update icepack submodule
DeniseWorthen Jul 7, 2020
4e8cc79
Merge remote-tracking branch 'upstream/nuopc' into emc/develop
DeniseWorthen Jul 7, 2020
8ff4ee0
change Orion to orion in backend
DeniseWorthen Jul 7, 2020
7211bc1
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 9, 2020
148ab08
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 9, 2020
916c6af
add -link_mpi=dbg to debug flags (#8)
DeniseWorthen Jul 14, 2020
9bdb9ad
Merge remote-tracking branch 'CICE-Consortium/master' into emc/develop
DeniseWorthen Jul 15, 2020
aa9ef50
Update NUOPC cap to work with latest CICE6 master
dabail10 Jul 15, 2020
8f37bfc
cice6 compile (#6)
MinsukJi-NOAA Jul 17, 2020
86b8dab
Merge remote-tracking branch 'upstream/emc/develop' into HEAD
DeniseWorthen Jul 17, 2020
c084de4
Merge remote-tracking branch 'upstream/master' into emc/develop
DeniseWorthen Jul 17, 2020
793e7ce
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 28, 2020
88cc2fd
Merge remote-tracking branch 'upstream/master' into emc/develop
DeniseWorthen Aug 5, 2020
7fc1c30
nuopc,cmeps or s2s build updates
DeniseWorthen Aug 5, 2020
1802396
fixes for dbug_flag
DeniseWorthen Aug 6, 2020
964c860
Merge pull request #6 from DeniseWorthen/escomp/nuopc
dabail10 Aug 10, 2020
1cf95cf
Update nuopc2 to latest CICE master
dabail10 Aug 10, 2020
adbff47
Merge latest CICE master
dabail10 Aug 10, 2020
b52362e
Fix some merge problems
dabail10 Aug 10, 2020
f106591
Fix dbug variable
dabail10 Aug 10, 2020
64c5569
Manual merge of UFS changes
dabail10 Aug 12, 2020
f6040e1
Merge pull request #7 from ESCOMP/nuopc2
dabail10 Aug 12, 2020
bdf1a1f
changes for consistency w/ current emc-cice5 (#13)
DeniseWorthen Aug 12, 2020
5ecde75
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Aug 12, 2020
d81a834
Fixcommit (#14)
DeniseWorthen Aug 13, 2020
4d7ba5b
Merge remote-tracking branch 'upstream/master' into emc/develop
DeniseWorthen Aug 13, 2020
5dcfca8
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Aug 13, 2020
5a0c13d
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Aug 13, 2020
3e4d1e7
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Aug 13, 2020
285985c
Update CICE6 for integration to S2S
DeniseWorthen Aug 31, 2020
6d30789
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Aug 31, 2020
8129aab
Merge remote-tracking branch 'consortium/master' into emc/develop
DeniseWorthen Aug 31, 2020
c360dc2
fixes to get CESM B1850 compset working
Oct 4, 2020
1a32f3e
refactored ice_prescribed_mod.F90 to work with cdeps rather than the …
Oct 5, 2020
ac617cd
Support TACC stampede (#19)
MinsukJi-NOAA Oct 8, 2020
23cdee7
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Oct 8, 2020
1e4f42b
update icepack
DeniseWorthen Oct 30, 2020
2515f77
Merge remote-tracking branch 'consortium/master' into feature/updcice
DeniseWorthen Oct 30, 2020
41afe74
add ice_dyn_vp module to CICE_InitMod
DeniseWorthen Oct 30, 2020
2a0f332
update gitmodules, update icepack
DeniseWorthen Nov 10, 2020
f773ef3
Update CICE to consortium master (#23)
DeniseWorthen Nov 10, 2020
840e931
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Nov 10, 2020
e48dd38
Fix use_restart_time
dabail10 Jan 26, 2021
f59b5c3
changes for creating masks at runtime
Jan 28, 2021
66356cb
added ice_mesh_mod
Jan 29, 2021
6ff987c
implemented area correction factors as option
Feb 1, 2021
0f90ce1
more cleanup
Feb 1, 2021
1e4d393
Merge remote-tracking branch 'upstream/emc/develop' into feature/updcice
DeniseWorthen Mar 14, 2021
66546ae
Merge remote-tracking branch 'Consortium/master' into feature/updcice
DeniseWorthen Mar 14, 2021
d78c3a3
Fix dragio
dabail10 Mar 22, 2021
1139e7f
Merge pull request #8 from ESCOMP/mvertens/nuopc_updates
dabail10 Mar 22, 2021
68132e7
Fix mushy bug
dabail10 Mar 22, 2021
ff3783a
updates to nuopc cap to resolve inconsistency between driver inputs a…
Mar 24, 2021
718a75d
changed error message
Mar 24, 2021
3ee6fe2
added icepack_warnings_flush
Mar 24, 2021
2eca569
update icepack
DeniseWorthen Apr 5, 2021
b52e91c
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Apr 5, 2021
3bdc07b
updates to get ice categories working
Apr 26, 2021
508e9b9
updates to have F compset almost working with cice6 - still problems …
May 4, 2021
a2ddbd9
changed tolerance of mesh/grid comparison
May 6, 2021
56e1a83
added issues raised in PR
May 10, 2021
51db2f9
Merge remote-tracking branch 'Consortium/master' into feature/updcice
DeniseWorthen Jun 1, 2021
3348230
add escomp/nuopc cap updates
DeniseWorthen Jun 1, 2021
8b5ac3a
Merge pull request #9 from ESCOMP/nuopc_updates
dabail10 Jun 2, 2021
a468b00
update ice_mesh_check
DeniseWorthen Jun 3, 2021
f29ab1b
fix whitespace and blank line
DeniseWorthen Jun 3, 2021
4d3cc8d
switch to no-abort icepack branch
DeniseWorthen Jun 3, 2021
519d339
Update CICE to latest Consortium master (#26)
DeniseWorthen Jun 4, 2021
74e7b58
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Jun 5, 2021
bf548bd
update icepack
DeniseWorthen Jun 5, 2021
ed3ef8d
manually merge nuopc updates
DeniseWorthen Jun 5, 2021
b7f7b17
fix compile error for ufs-weather
DeniseWorthen Jun 6, 2021
5eea430
fixes for ufs-weather
DeniseWorthen Jun 6, 2021
a8b9c77
remove unrequired lines
DeniseWorthen Jun 6, 2021
82d5d51
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 7, 2021
6faa645
Merge CICE Consortium main to nuopc
dabail10 Jun 7, 2021
70b5ec7
add cice changes for zlvs
DeniseWorthen Jun 9, 2021
1355928
Merge branch 'emc/develop' into feature/updcap_escomp_scol
DeniseWorthen Jun 10, 2021
c8e43fb
Merge branch 'bugfix/initzlvs' into feature/updcap_escomp_scol
DeniseWorthen Jun 10, 2021
d55da5b
Merge remote-tracking branch 'Consortium/master' into feature/updcap_…
DeniseWorthen Jun 10, 2021
7f34d46
remove ufs/comp_ice.backend scripts
DeniseWorthen Jun 10, 2021
b628606
Merge remote-tracking branch 'escomp/nuopc' into feature/updcap_escom…
DeniseWorthen Jun 10, 2021
3d94c9e
point submodule for icepack to consortium/icepack
DeniseWorthen Jun 10, 2021
9d88d92
add cice changes for zlvs (#29)
DeniseWorthen Jun 10, 2021
aa11007
Merge remote-tracking branch 'upstream/emc/develop' into feature/updc…
DeniseWorthen Jun 11, 2021
a0f83fe
resolve white space differences
DeniseWorthen Jun 11, 2021
d1f2d15
Merge remote-tracking branch 'upstream/emc/develop' into emc/develop
DeniseWorthen Jun 11, 2021
d09c4ce
Merge branch 'emc/develop' into feature/updcap_escomp_scol
DeniseWorthen Jun 11, 2021
1900861
revert removal of 'latlon' grid_type
DeniseWorthen Jun 15, 2021
9df592e
remove extraneous call to calendar in CICE_RunMod
DeniseWorthen Jun 16, 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
7 changes: 4 additions & 3 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -297,12 +297,10 @@ subroutine input_data
dumpfreq='y' ! restart frequency option
dumpfreq_n = 1 ! restart frequency
dump_last = .false. ! write restart on last time step
restart = .false. ! if true, read restart files for initialization
restart_dir = './' ! write to executable dir for default
restart_file = 'iced' ! restart file name prefix
restart_ext = .false. ! if true, read/write ghost cells
restart_coszen = .false. ! if true, read/write coszen
use_restart_time = .true. ! if true, use time info written in file
pointer_file = 'ice.restart_file'
restart_format = 'default' ! restart file format
lcdf64 = .false. ! 64 bit offset for netCDF
Expand Down Expand Up @@ -452,6 +450,8 @@ subroutine input_data
#ifndef CESMCOUPLED
runid = 'unknown' ! run ID used in CESM and for machine 'bering'
runtype = 'initial' ! run type: 'initial', 'continue'
restart = .false. ! if true, read restart files for initialization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this is needed because CESM has restart flags set by driver.

use_restart_time = .true. ! if true, use time info written in file
#endif

! extra tracers
Expand Down Expand Up @@ -1775,7 +1775,8 @@ subroutine input_data
grid_type /= 'rectangular' .and. &
grid_type /= 'cpom_grid' .and. &
grid_type /= 'regional' .and. &
grid_type /= 'latlon' ) then
grid_type /= 'latlon' .and. &
grid_type /= 'setmask' ) then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latlon grid functionality has changed here. We are using a new NUOPC mesh functionality. Are there other groups that use the 'latlon' grid?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to keep the latlon capability. F cases use the latlon feature in prescribed ice mode, I assume there may be other users of older version of CESM that need this. RASM certainly does.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realize that RASM still did F compsets! We can certainly keep this. I can make this modification.

if (my_task == master_task) write(nu_diag,*) subname//' ERROR: unknown grid_type=',trim(grid_type)
abort_list = trim(abort_list)//":20"
endif
Expand Down
2 changes: 1 addition & 1 deletion cicecore/cicedynB/infrastructure/ice_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ module ice_grid
private
public :: init_grid1, init_grid2, &
t2ugrid_vector, u2tgrid_vector, &
to_ugrid, to_tgrid, alloc_grid
to_ugrid, to_tgrid, alloc_grid, makemask
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makemask is needed in the driver code


character (len=char_len_long), public :: &
grid_format , & ! file format ('bin'=binary or 'nc'=netcdf)
Expand Down
850 changes: 428 additions & 422 deletions cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90

Large diffs are not rendered by default.

42 changes: 19 additions & 23 deletions cicecore/drivers/nuopc/cmeps/CICE_RunMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
! William H. Lipscomb, LANL
!
! 2006 ECH: moved exit timeLoop to prevent execution of unnecessary timestep
! 2006 ECH: Streamlined for efficiency
! 2006 ECH: Streamlined for efficiency
! 2006 ECH: Converted to free source form (F90)
! 2007 BPB: Modified Delta-Eddington shortwave interface
! 2008 ECH: moved ESMF code to its own driver
Expand Down Expand Up @@ -44,7 +44,7 @@ module CICE_RunMod

subroutine CICE_Run

use ice_calendar, only: istep, istep1, time, dt, calendar
use ice_calendar, only: istep, istep1, dt, calendar, advance_timestep
use ice_forcing, only: get_forcing_atmo, get_forcing_ocn, &
get_wave_spec
use ice_forcing_bgc, only: get_forcing_bgc, get_atm_bgc, &
Expand Down Expand Up @@ -77,19 +77,15 @@ subroutine CICE_Run
! timestep loop
!--------------------------------------------------------------------

istep = istep + 1 ! update time step counters
istep1 = istep1 + 1
time = time + dt ! determine the time and date

call ice_timer_start(timer_couple) ! atm/ocn coupling

call advance_timestep() ! advance timestep and update calendar data

if (z_tracers) call get_atm_bgc ! biogeochemistry

call init_flux_atm ! Initialize atmosphere fluxes sent to coupler
call init_flux_ocn ! initialize ocean fluxes sent to coupler

call calendar(time) ! at the end of the timestep

call ice_timer_stop(timer_couple) ! atm/ocn coupling

call ice_step
Expand All @@ -98,7 +94,7 @@ subroutine CICE_Run
! end of timestep loop
!--------------------------------------------------------------------

call ice_timer_stop(timer_step) ! end timestepping loop timer
call ice_timer_stop(timer_step) ! end timestepping loop timer

end subroutine CICE_Run

Expand Down Expand Up @@ -140,7 +136,7 @@ subroutine ice_step
use ice_prescribed_mod

integer (kind=int_kind) :: &
iblk , & ! block index
iblk , & ! block index
k , & ! dynamics supercycling index
ktherm ! thermodynamics is off when ktherm = -1

Expand Down Expand Up @@ -317,7 +313,7 @@ subroutine ice_step
if (tr_iso) call write_restart_iso
if (tr_aero) call write_restart_aero
if (solve_zsal .or. skl_bgc .or. z_tracers) &
call write_restart_bgc
call write_restart_bgc
if (tr_brine) call write_restart_hbrine
if (kdyn == 2) call write_restart_eap
call final_restart
Expand Down Expand Up @@ -361,12 +357,12 @@ subroutine coupling_prep (iblk)
use ice_step_mod, only: ocean_mixed_layer
use ice_timers, only: timer_couple, ice_timer_start, ice_timer_stop

integer (kind=int_kind), intent(in) :: &
iblk ! block index
integer (kind=int_kind), intent(in) :: &
iblk ! block index

! local variables

integer (kind=int_kind) :: &
integer (kind=int_kind) :: &
ilo,ihi,jlo,jhi, & ! beginning and end of physical domain
n , & ! thickness category index
i,j , & ! horizontal indices
Expand Down Expand Up @@ -506,8 +502,8 @@ subroutine coupling_prep (iblk)
fsalt_ai (i,j,iblk) = fsalt (i,j,iblk)
fhocn_ai (i,j,iblk) = fhocn (i,j,iblk)
fswthru_ai(i,j,iblk) = fswthru(i,j,iblk)
fzsal_ai (i,j,iblk) = fzsal (i,j,iblk)
fzsal_g_ai(i,j,iblk) = fzsal_g(i,j,iblk)
fzsal_ai (i,j,iblk) = fzsal (i,j,iblk)
fzsal_g_ai(i,j,iblk) = fzsal_g(i,j,iblk)

if (nbtrcr > 0) then
do k = 1, nbtrcr
Expand All @@ -528,7 +524,7 @@ subroutine coupling_prep (iblk)
enddo

!-----------------------------------------------------------------
! Divide fluxes by ice area
! Divide fluxes by ice area
! - the CESM coupler assumes fluxes are per unit ice area
! - also needed for global budget in diagnostics
!-----------------------------------------------------------------
Expand Down Expand Up @@ -580,16 +576,16 @@ subroutine coupling_prep (iblk)
if (.not. calc_Tsfc) then

!---------------------------------------------------------------
! If surface fluxes were provided, conserve these fluxes at ice
! free points by passing to ocean.
! If surface fluxes were provided, conserve these fluxes at ice
! free points by passing to ocean.
!---------------------------------------------------------------

call sfcflux_to_ocn &
call sfcflux_to_ocn &
(nx_block, ny_block, &
tmask (:,:,iblk), aice_init(:,:,iblk), &
fsurfn_f (:,:,:,iblk), flatn_f(:,:,:,iblk), &
fresh (:,:,iblk), fhocn (:,:,iblk))
endif
endif
!echmod
call ice_timer_stop(timer_couple,iblk) ! atm/ocn coupling

Expand All @@ -598,10 +594,10 @@ end subroutine coupling_prep
!=======================================================================
!
! If surface heat fluxes are provided to CICE instead of CICE calculating
! them internally (i.e. .not. calc_Tsfc), then these heat fluxes can
! them internally (i.e. .not. calc_Tsfc), then these heat fluxes can
! be provided at points which do not have ice. (This is could be due to
! the heat fluxes being calculated on a lower resolution grid or the
! heat fluxes not recalculated at every CICE timestep.) At ice free points,
! heat fluxes not recalculated at every CICE timestep.) At ice free points,
! conserve energy and water by passing these fluxes to the ocean.
!
! author: A. McLaren, Met Office
Expand Down
Loading