Skip to content
Snippets Groups Projects
Commit 8ae69514 authored by Guillaume Samson's avatar Guillaume Samson :snowman2:
Browse files

Merge branch 'cherry-pick-17646f45' into 'branch_4.2'

Merge branch 'asm_flags_hardcoded' into 'branch_4.2'

See merge request nemo/nemo!367
parents d3280950 1741c8ec
No related branches found
No related tags found
No related merge requests found
...@@ -1485,6 +1485,7 @@ ...@@ -1485,6 +1485,7 @@
ln_trainc = .false. ! Logical switch for applying tracer increments ln_trainc = .false. ! Logical switch for applying tracer increments
ln_dyninc = .false. ! Logical switch for applying velocity increments ln_dyninc = .false. ! Logical switch for applying velocity increments
ln_sshinc = .false. ! Logical switch for applying SSH increments ln_sshinc = .false. ! Logical switch for applying SSH increments
ln_seaiceinc = .false. ! Logical switch for applying Sea ice concentration increments
ln_asmdin = .false. ! Logical switch for Direct Initialization (DI) ln_asmdin = .false. ! Logical switch for Direct Initialization (DI)
ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU) ln_asmiau = .false. ! Logical switch for Incremental Analysis Updating (IAU)
nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1] nitbkg = 0 ! Timestep of background in [0,nitend-nit000-1]
...@@ -1494,6 +1495,7 @@ ...@@ -1494,6 +1495,7 @@
niaufn = 0 ! Type of IAU weighting function niaufn = 0 ! Type of IAU weighting function
ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin ln_salfix = .false. ! Logical switch for ensuring that the sa > salfixmin
salfixmin = -9999 ! Minimum salinity after applying the increments salfixmin = -9999 ! Minimum salinity after applying the increments
ln_temnofreeze=.false. ! Don't allow the temperature to drop below freezing
nn_divdmp = 0 ! Number of iterations of divergence damping operator nn_divdmp = 0 ! Number of iterations of divergence damping operator
/ /
......
...@@ -57,16 +57,17 @@ MODULE asminc ...@@ -57,16 +57,17 @@ MODULE asminc
#else #else
LOGICAL, PUBLIC, PARAMETER :: lk_asminc = .FALSE. !: No assimilation increments LOGICAL, PUBLIC, PARAMETER :: lk_asminc = .FALSE. !: No assimilation increments
#endif #endif
LOGICAL, PUBLIC :: ln_bkgwri !: No output of the background state fields
LOGICAL, PUBLIC :: ln_asmiau !: No applying forcing with an assimilation increment LOGICAL, PUBLIC :: ln_bkgwri !: Logical switch for writing out background state
LOGICAL, PUBLIC :: ln_asmdin !: No direct initialization LOGICAL, PUBLIC :: ln_asmiau !: Logical switch for Incremental Analysis Updating (IAU)
LOGICAL, PUBLIC :: ln_trainc !: No tracer (T and S) assimilation increments LOGICAL, PUBLIC :: ln_asmdin !: Logical switch for Direct Initialization (DI)
LOGICAL, PUBLIC :: ln_dyninc !: No dynamics (u and v) assimilation increments LOGICAL, PUBLIC :: ln_trainc !: Logical switch for applying tracer increments
LOGICAL, PUBLIC :: ln_sshinc !: No sea surface height assimilation increment LOGICAL, PUBLIC :: ln_dyninc !: Logical switch for applying velocity increments
LOGICAL, PUBLIC :: ln_seaiceinc !: No sea ice concentration increment LOGICAL, PUBLIC :: ln_sshinc !: Logical switch for applying SSH increments
LOGICAL, PUBLIC :: ln_salfix !: Apply minimum salinity check LOGICAL, PUBLIC :: ln_seaiceinc !: Logical switch for applying Sea ice concentration increments
LOGICAL, PUBLIC :: ln_temnofreeze = .FALSE. !: Don't allow the temperature to drop below freezing LOGICAL, PUBLIC :: ln_salfix !: Logical switch for ensuring that the sa > salfixmin
INTEGER, PUBLIC :: nn_divdmp !: Apply divergence damping filter nn_divdmp times LOGICAL, PUBLIC :: ln_temnofreeze!: Don't allow the temperature to drop below freezing
INTEGER, PUBLIC :: nn_divdmp !: Number of iterations of divergence damping operator
REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: t_bkg , s_bkg !: Background temperature and salinity REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: t_bkg , s_bkg !: Background temperature and salinity
REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: u_bkg , v_bkg !: Background u- & v- velocity components REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: u_bkg , v_bkg !: Background u- & v- velocity components
...@@ -139,15 +140,13 @@ CONTAINS ...@@ -139,15 +140,13 @@ CONTAINS
& ln_trainc, ln_dyninc, ln_sshinc, & & ln_trainc, ln_dyninc, ln_sshinc, &
& ln_asmdin, ln_asmiau, & & ln_asmdin, ln_asmiau, &
& nitbkg, nitdin, nitiaustr, nitiaufin, niaufn, & & nitbkg, nitdin, nitiaustr, nitiaufin, niaufn, &
& ln_salfix, salfixmin, nn_divdmp & ln_seaiceinc, ln_salfix, salfixmin, &
& ln_temnofreeze, nn_divdmp
!!---------------------------------------------------------------------- !!----------------------------------------------------------------------
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! Read Namelist nam_asminc : assimilation increment interface ! Read Namelist nam_asminc : assimilation increment interface
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
ln_seaiceinc = .FALSE.
ln_temnofreeze = .FALSE.
READ ( numnam_ref, nam_asminc, IOSTAT = ios, ERR = 901) READ ( numnam_ref, nam_asminc, IOSTAT = ios, ERR = 901)
901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist' ) 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist' )
READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 )
...@@ -174,6 +173,7 @@ CONTAINS ...@@ -174,6 +173,7 @@ CONTAINS
WRITE(numout,*) ' Type of IAU weighting function niaufn = ', niaufn WRITE(numout,*) ' Type of IAU weighting function niaufn = ', niaufn
WRITE(numout,*) ' Logical switch for ensuring that the sa > salfixmin ln_salfix = ', ln_salfix WRITE(numout,*) ' Logical switch for ensuring that the sa > salfixmin ln_salfix = ', ln_salfix
WRITE(numout,*) ' Minimum salinity after applying the increments salfixmin = ', salfixmin WRITE(numout,*) ' Minimum salinity after applying the increments salfixmin = ', salfixmin
WRITE(numout,*) ' Do not apply negative increments if the T < freezing ln_temnofreeze = ',ln_temnofreeze
ENDIF ENDIF
nitbkg_r = nitbkg + nit000 - 1 ! Background time referenced to nit000 nitbkg_r = nitbkg + nit000 - 1 ! Background time referenced to nit000
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment