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

Time varying open boundary conditions for CICE #21

Merged
merged 6 commits into from
Nov 11, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 8 additions & 4 deletions apps/common/modified_src/cice5.1.2/drivers/cice/CICE_InitMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,15 @@ subroutine cice_init
init_calendar, calendar
use ice_communicate, only: init_communicate
use ice_diagnostics, only: init_diags
use ice_domain, only: init_domain_blocks
use ice_domain, only: init_domain_blocks,sea_ice_time_bry
use ice_dyn_eap, only: init_eap
use ice_dyn_shared, only: kdyn, init_evp
use ice_fileunits, only: init_fileunits
use ice_flux, only: init_coupler_flux, init_history_therm, &
init_history_dyn, init_flux_atm, init_flux_ocn
use ice_forcing, only: init_forcing_ocn, init_forcing_atmo, &
get_forcing_atmo, get_forcing_ocn
get_forcing_atmo, get_forcing_ocn, &
init_forcing_bry, get_forcing_bry
use ice_grid, only: init_grid1, init_grid2
use ice_history, only: init_hist, accum_hist
use ice_restart_shared, only: restart, runid, runtype
Expand All @@ -85,7 +86,6 @@ subroutine cice_init
#ifdef ROMSCOUPLED
use CICE_MCT, only: init_mct, CICE_MCT_coupling
#endif

call init_communicate ! initial setup for message passing
call init_fileunits ! unit numbers
call input_data ! namelist variables
Expand Down Expand Up @@ -121,7 +121,7 @@ subroutine cice_init
call init_forcing_ocn(dt) ! initialize sss and sst from data
call init_state ! initialize the ice state
call init_transport ! initialize horizontal transport
call ice_HaloRestore_init ! restored boundary conditions


call init_restart ! initialize restart variables

Expand All @@ -145,10 +145,14 @@ subroutine cice_init
!--------------------------------------------------------------------

call init_forcing_atmo ! initialize atmospheric forcing (standalone)
call ice_HaloRestore_init ! restored boundary conditions

if (sea_ice_time_bry) call init_forcing_bry ! sea-ice time varying boundaries

#ifndef coupled
call get_forcing_atmo ! atmospheric forcing from data
call get_forcing_ocn(dt) ! ocean forcing from data
if (sea_ice_time_bry) call get_forcing_bry ! sea-ice boundary data
! if (tr_aero) call faero_data ! aerosols
if (tr_aero) call faero_default ! aerosols
if (skl_bgc) call get_forcing_bgc
Expand Down
11 changes: 8 additions & 3 deletions apps/common/modified_src/cice5.1.2/drivers/cice/CICE_RunMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,13 @@ subroutine CICE_Run(coupling_interval)
use ice_aerosol, only: faero_default
use ice_algae, only: get_forcing_bgc
use ice_calendar, only: istep, istep1, time, dt, stop_now, calendar
use ice_forcing, only: get_forcing_atmo, get_forcing_ocn
use ice_forcing, only: get_forcing_atmo, get_forcing_ocn, get_forcing_bry
use ice_flux, only: init_flux_atm, init_flux_ocn
use ice_state, only: tr_aero
use ice_timers, only: ice_timer_start, ice_timer_stop, &
timer_couple, timer_step
use ice_zbgc_shared, only: skl_bgc
use ice_domain, only:sea_ice_time_bry

#ifdef ROMSCOUPLED
use CICE_MCT, only: CICE_MCT_coupling,TimeInterval
Expand All @@ -71,7 +72,7 @@ subroutine CICE_Run(coupling_interval)
#ifdef ROMSCOUPLED
call CICE_MCT_coupling
#endif

call ice_step ! restarts written at the end of this call


Expand All @@ -89,6 +90,7 @@ subroutine CICE_Run(coupling_interval)
call ice_timer_start(timer_couple) ! atm/ocn coupling
call get_forcing_atmo ! atmospheric forcing from data
call get_forcing_ocn(dt) ! ocean forcing from data
if (sea_ice_time_bry) call get_forcing_bry ! sea-ice boundary data
! if (tr_aero) call faero_data ! aerosols
if (tr_aero) call faero_default ! aerosols
if (skl_bgc) call get_forcing_bgc ! biogeochemistry
Expand Down Expand Up @@ -204,7 +206,10 @@ subroutine ice_step

call ice_timer_stop(timer_thermo) ! thermodynamics
call ice_timer_stop(timer_column) ! column physics


! restore again before dynamics (by Nick and Jostein, MET)
if (restore_ice) call ice_HaloRestore

!-----------------------------------------------------------------
! dynamics, transport, ridging
!-----------------------------------------------------------------
Expand Down
Loading