New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12612 – NEMO

Changeset 12612


Ignore:
Timestamp:
2020-03-26T12:28:27+01:00 (4 years ago)
Author:
dcarneir
Message:

SIT changes compatible to SIT changes in OBS branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_FOAMv14_sit/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r12595 r12612  
    6565#endif 
    6666   LOGICAL, PUBLIC :: ln_bkgwri = .FALSE.      !: No output of the background state fields 
     67   LOGICAL, PUBLIC :: ln_avgbkg = .FALSE.      !: No output of the mean background state fields 
    6768   LOGICAL, PUBLIC :: ln_asmiau = .FALSE.      !: No applying forcing with an assimilation increment 
    6869   LOGICAL, PUBLIC :: ln_asmdin = .FALSE.      !: No direct initialization 
     
    140141      REAL(wp), POINTER, DIMENSION(:,:) ::   hdiv   ! 2D workspace 
    141142      !! 
    142       NAMELIST/nam_asminc/ ln_bkgwri, ln_balwri,                           & 
     143      NAMELIST/nam_asminc/ ln_bkgwri, ln_avgbkg, ln_balwri,                & 
    143144         &                 ln_trainc, ln_dyninc, ln_sshinc,                & 
    144145         &                 ln_phytobal, ln_slchltotinc, ln_slchldiainc,    & 
     
    178179         WRITE(numout,*) '   Namelist nam_asminc : set assimilation increment parameters' 
    179180         WRITE(numout,*) '      Logical switch for writing out background state          ln_bkgwri = ', ln_bkgwri 
     181         WRITE(numout,*) '      Logical switch for writing mean background state         ln_avgbkg = ', ln_avgbkg 
    180182         WRITE(numout,*) '      Logical switch for writing out balancing increments      ln_balwri = ', ln_balwri 
    181183         WRITE(numout,*) '      Logical switch for applying tracer increments            ln_trainc = ', ln_trainc 
    182184         WRITE(numout,*) '      Logical switch for applying velocity increments          ln_dyninc = ', ln_dyninc 
    183185         WRITE(numout,*) '      Logical switch for applying SSH increments               ln_sshinc = ', ln_sshinc 
    184          WRITE(numout,*) '      Logical switch for Direct Initialization (DI)            ln_asmdin = ', ln_asmdin 
    185186         WRITE(numout,*) '      Logical switch for applying SIC increments               ln_seaiceinc = ', ln_seaiceinc 
    186187         WRITE(numout,*) '      Logical switch for applying SIT increments               ln_sitinc = ', ln_sitinc 
     188         WRITE(numout,*) '      Logical switch for Direct Initialization (DI)            ln_asmdin = ', ln_asmdin 
     189         WRITE(numout,*) '      Logical switch for Incremental Analysis Updating (IAU)   ln_asmiau = ', ln_asmiau 
     190         WRITE(numout,*) '      Timestep of background in [0,nitend-nit000-1]            nitbkg    = ', nitbkg 
     191         WRITE(numout,*) '      Timestep of background for DI in [0,nitend-nit000-1]     nitdin    = ', nitdin 
     192         WRITE(numout,*) '      Timestep of start of IAU interval in [0,nitend-nit000-1] nitiaustr = ', nitiaustr 
     193         WRITE(numout,*) '      Timestep of end of IAU interval in [0,nitend-nit000-1]   nitiaufin = ', nitiaufin 
     194         WRITE(numout,*) '      Type of IAU weighting function                           niaufn    = ', niaufn 
     195         WRITE(numout,*) '      Logical switch for ensuring that the sa > salfixmin      ln_salfix = ', ln_salfix 
     196         WRITE(numout,*) '      Minimum salinity after applying the increments           salfixmin = ', salfixmin 
    187197         WRITE(numout,*) '      Logical switch for phytoplankton balancing             ln_phytobal = ', ln_phytobal 
    188198         WRITE(numout,*) '      Logical switch for applying slchltot increments     ln_slchltotinc = ', ln_slchltotinc 
     
    203213         WRITE(numout,*) '      Logical switch for applying pph increments               ln_pphinc = ', ln_pphinc 
    204214         WRITE(numout,*) '      Logical switch for applying po2 increments               ln_po2inc = ', ln_po2inc 
    205          WRITE(numout,*) '      Logical switch for Incremental Analysis Updating (IAU)   ln_asmiau = ', ln_asmiau 
    206          WRITE(numout,*) '      Timestep of background in [0,nitend-nit000-1]            nitbkg    = ', nitbkg 
    207          WRITE(numout,*) '      Timestep of background for DI in [0,nitend-nit000-1]     nitdin    = ', nitdin 
    208          WRITE(numout,*) '      Timestep of start of IAU interval in [0,nitend-nit000-1] nitiaustr = ', nitiaustr 
    209          WRITE(numout,*) '      Timestep of end of IAU interval in [0,nitend-nit000-1]   nitiaufin = ', nitiaufin 
    210          WRITE(numout,*) '      Type of IAU weighting function                           niaufn    = ', niaufn 
    211          WRITE(numout,*) '      Logical switch for ensuring that the sa > salfixmin      ln_salfix = ', ln_salfix 
    212          WRITE(numout,*) '      Minimum salinity after applying the increments           salfixmin = ', salfixmin 
    213215         WRITE(numout,*) '      Choice of MLD for BGC assimilation                  mld_choice_bgc = ', mld_choice_bgc 
    214216         WRITE(numout,*) '      Maximum absolute chlorophyll increment (<=0 = off)    rn_maxchlinc = ', rn_maxchlinc 
     
    383385      !-------------------------------------------------------------------- 
    384386 
    385       ALLOCATE( t_bkginc(jpi,jpj,jpk) ) 
    386       ALLOCATE( s_bkginc(jpi,jpj,jpk) ) 
    387       ALLOCATE( u_bkginc(jpi,jpj,jpk) ) 
    388       ALLOCATE( v_bkginc(jpi,jpj,jpk) ) 
    389       ALLOCATE( ssh_bkginc(jpi,jpj)   ) 
    390       ALLOCATE( seaice_bkginc(jpi,jpj)) 
    391       ALLOCATE( sit_bkginc(jpi,jpj)   ) 
     387      IF ( ln_trainc ) THEN 
     388         ALLOCATE( t_bkginc(jpi,jpj,jpk) ) 
     389         ALLOCATE( s_bkginc(jpi,jpj,jpk) ) 
     390         t_bkginc(:,:,:) = 0.0 
     391         s_bkginc(:,:,:) = 0.0 
     392      ENDIF 
     393      IF ( ln_dyninc ) THEN  
     394         ALLOCATE( u_bkginc(jpi,jpj,jpk) ) 
     395         ALLOCATE( v_bkginc(jpi,jpj,jpk) ) 
     396         u_bkginc(:,:,:) = 0.0 
     397         v_bkginc(:,:,:) = 0.0 
     398      ENDIF 
     399      IF ( ln_sshinc ) THEN 
     400         ALLOCATE( ssh_bkginc(jpi,jpj)   ) 
     401         ssh_bkginc(:,:) = 0.0 
     402      ENDIF 
     403      IF ( ln_seaiceinc ) THEN  
     404         ALLOCATE( seaice_bkginc(jpi,jpj)) 
     405         seaice_bkginc(:,:) = 0.0 
     406      ENDIF 
     407      IF ( ln_sitinc ) THEN  
     408         ALLOCATE( sit_bkginc(jpi,jpj)) 
     409         sit_bkginc(:,:) = 0.0 
     410      ENDIF 
    392411#if defined key_asminc 
    393412      ALLOCATE( ssh_iau(jpi,jpj)      ) 
    394 #endif 
    395       t_bkginc(:,:,:) = 0.0 
    396       s_bkginc(:,:,:) = 0.0 
    397       u_bkginc(:,:,:) = 0.0 
    398       v_bkginc(:,:,:) = 0.0 
    399       ssh_bkginc(:,:) = 0.0 
    400       seaice_bkginc(:,:) = 0.0 
    401       sit_bkginc(:,:) = 0.0 
    402 #if defined key_asminc 
    403413      ssh_iau(:,:)    = 0.0 
    404414#endif 
Note: See TracChangeset for help on using the changeset viewer.