Skip to content

Commit

Permalink
Merge pull request #21 from metno/cice_obc
Browse files Browse the repository at this point in the history
Time varying open boundary conditions for CICE
  • Loading branch information
jostbr authored Nov 11, 2019
2 parents 6383ff8 + 812789a commit 6e88426
Show file tree
Hide file tree
Showing 9 changed files with 10,163 additions and 29 deletions.
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

0 comments on commit 6e88426

Please sign in to comment.