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 5889 for branches/UKMO/dev_r5518_flux_adjust/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx_adj.F90 – NEMO

Ignore:
Timestamp:
2015-11-13T17:58:13+01:00 (8 years ago)
Author:
kuniko
Message:

Incorporated flux adjustment. Job compiles and runs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_flux_adjust/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx_adj.F90

    r5881 r5889  
    3737   INTEGER, PUBLIC ::   nn_flxadjht     ! Heat/freshwater flux adjustment indicator 
    3838   INTEGER, PUBLIC ::   nn_flxadjfw     ! Heat/freshwater flux adjustment indicator 
    39    REAL(wp)        ::   rn_dqdt         ! restoring factor on SST and SSS 
    40    REAL(wp)        ::   rn_deds         ! restoring factor on SST and SSS 
    4139   LOGICAL         ::   ln_sssr_bnd     ! flag to bound erp term  
    4240   REAL(wp)        ::   rn_sssr_bnd     ! ABS(Max./Min.) value of erp term [mm/day] 
     
    7472      REAL(wp) ::   zerp     ! local scalar for evaporation damping 
    7573      REAL(wp) ::   zqrp     ! local scalar for heat flux damping 
    76       REAL(wp) ::   zsrp     ! local scalar for unit conversion of rn_deds factor 
    7774      REAL(wp) ::   zerp_bnd ! local scalar for unit conversion of rn_epr_max factor 
    7875      INTEGER  ::   ierror   ! return error code 
     
    104101            ! 
    105102            IF( nn_flxadjfw == 1 ) THEN                               !* Anomalous freshwater term !(salt flux only (sfx)) 
    106                zsrp = rn_deds / rday                                  ! from [mm/day] to [kg/m2/s] 
    107103!CDIR COLLAPSE 
    108104               DO jj = 1, jpj 
     
    117113               ! 
    118114            ELSEIF( nn_flxadjfw == 2 ) THEN                               !* Salinity damping term (volume flux (emp) and associated heat flux (qns) 
    119                zsrp = rn_deds / rday                                  ! from [mm/day] to [kg/m2/s] 
    120115               zerp_bnd = rn_sssr_bnd / rday                          !       -              -     
    121116!CDIR COLLAPSE 
     
    152147      REAL(wp) ::   zerp     ! local scalar for evaporation damping 
    153148      REAL(wp) ::   zqrp     ! local scalar for heat flux damping 
    154       REAL(wp) ::   zsrp     ! local scalar for unit conversion of rn_deds factor 
    155149      REAL(wp) ::   zerp_bnd ! local scalar for unit conversion of rn_epr_max factor 
    156150      INTEGER  ::   ierror   ! return error code 
     
    158152      CHARACTER(len=100) ::  cn_dir          ! Root directory for location of ssr files 
    159153      TYPE(FLD_N) ::   sn_qrp, sn_erp        ! informations about the fields to be read 
    160       NAMELIST/namsbc_flx_adj/ cn_dir, nn_flxadjht, nn_flxadjfw, rn_dqdt, rn_deds, sn_qrp, sn_erp, ln_sssr_bnd, rn_sssr_bnd 
     154      NAMELIST/namsbc_flx_adj/ cn_dir, nn_flxadjht, nn_flxadjfw, sn_qrp, sn_erp,   & 
     155         &                     ln_sssr_bnd, rn_sssr_bnd 
    161156      INTEGER     ::  ios 
    162157      !!---------------------------------------------------------------------- 
     
    177172         WRITE(numout,*) '~~~~~~~ ' 
    178173         WRITE(numout,*) '   Namelist namsbc_flx_adj :' 
    179          WRITE(numout,*) '      Anomalous heat flux (qrp) term (Yes=1)             nn_flxadjht     = ', nn_flxadjht 
    180          WRITE(numout,*) '      Anomalous freshwater flux (erp) term (Yes=1, salt flux)    nn_flxadjfw     = ', nn_flxadjfw 
     174         WRITE(numout,*) '      Anom. heat flux (qrp) term (Yes=1)             nn_flxadjht     = ', nn_flxadjht 
     175         WRITE(numout,*) '      Anom. fw flux (erp) term (Yes=1, salt flux)    nn_flxadjfw     = ', nn_flxadjfw 
    181176         WRITE(numout,*) '                                           (Yes=2, volume flux) ' 
    182          WRITE(numout,*) '      dQ/dT (restoring magnitude on SST)     rn_dqdt     = ', rn_dqdt, ' W/m2/K' 
    183          WRITE(numout,*) '      dE/dS (restoring magnitude on SST)     rn_deds     = ', rn_deds, ' mm/day' 
    184177         WRITE(numout,*) '      flag to bound erp term                 ln_sssr_bnd = ', ln_sssr_bnd 
    185178         WRITE(numout,*) '      ABS(Max./Min.) erp threshold           rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 
     
    194187         ALLOCATE( sf_qrp(1), STAT=ierror ) 
    195188         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'sbc_flx_adj: unable to allocate sf_qrp structure' ) 
    196          ALLOCATE( sf_sst(1)%fnow(jpi,jpj,1), STAT=ierror ) 
     189         ALLOCATE( sf_qrp(1)%fnow(jpi,jpj,1), STAT=ierror ) 
    197190         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'sbc_flx_adj: unable to allocate sf_qrp now array' ) 
    198191         ! 
Note: See TracChangeset for help on using the changeset viewer.