- Timestamp:
- 2010-05-06T10:40:07+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1837_mass_heat_salt_fluxes/NEMO/OPA_SRC/SBC/sbcssr.F90
r1730 r1859 6 6 !! History : 3.0 ! 2006-06 (G. Madec) Original code 7 7 !! 3.2 ! 2009-04 (B. Lemaire) Introduce iom_put 8 !! - ! 2009-07 (C. Talandier, G. Madec) Add a bound to the Erp 9 !! 3.3 ! 2010-05 (Y. Aksenov G. Madec) salt flux + heat associated with emp 8 10 !!---------------------------------------------------------------------- 9 11 … … 37 39 REAL(wp) :: rn_deds = -27.70 ! restoring factor on SST and SSS 38 40 LOGICAL :: ln_sssr_bnd = .false. ! flag to bound erp term 39 REAL(wp) :: rn_sssr_bnd = 0.e0 ! ABS(Max./Min.) value of erp term [mm/day]41 REAL(wp) :: rn_sssr_bnd = 4.e0 ! ABS(Max./Min.) value of erp term [mm/day] 40 42 41 43 REAL(wp) , ALLOCATABLE, DIMENSION(:) :: buffer ! Temporary buffer for exchange … … 46 48 # include "domzgr_substitute.h90" 47 49 !!---------------------------------------------------------------------- 48 !! NEMO/OPA 3. 2 , LOCEAN-IPSL (2009)50 !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 49 51 !! $Id$ 50 52 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 70 72 !! 71 73 INTEGER :: ji, jj ! dummy loop indices 72 REAL(wp) :: zerp ! local scalar for evaporation damping73 REAL(wp) :: zqrp ! local scalar for heat flux damping74 REAL(wp) :: zsrp ! local scalar for unit conversion of rn_deds factor75 REAL(wp) :: zerp_bnd ! local scalar for unit conversion of rn_epr_max factor76 74 INTEGER :: ierror ! return error code 77 !! 78 CHARACTER(len=100) :: cn_dir ! Root directory for location of ssr files 75 REAL(wp) :: zerp, zqrp, zsrp, zerp_bnd ! local scalar 76 !! 77 CHARACTER(len=100) :: cn_dir = './' ! Root directory for location of ssr files 79 78 TYPE(FLD_N) :: sn_sst, sn_sss ! informations about the fields to be read 80 79 NAMELIST/namsbc_ssr/ cn_dir, nn_sstr, nn_sssr, rn_dqdt, rn_deds, sn_sst, sn_sss, ln_sssr_bnd, rn_sssr_bnd … … 85 84 ! ! -------------------- ! 86 85 ! !* set file information 87 cn_dir = './' ! directory in which the model is executed88 86 ! ... default values (NB: frequency positive => hours, negative => months) 89 87 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! … … 158 156 END DO 159 157 END DO 160 CALL iom_put( "qrp", qrp ) ! heat flux damping 161 ENDIF 162 ! 163 IF( nn_sssr == 1 ) THEN !* Salinity damping term (salt flux , emps only)158 CALL iom_put( "qrp", qrp ) ! heat flux damping 159 ENDIF 160 ! 161 IF( nn_sssr == 1 ) THEN !* Salinity damping term (salt flux only (emps)) 164 162 zsrp = rn_deds / rday ! from [mm/day] to [kg/m2/s] 165 163 !CDIR COLLAPSE … … 167 165 DO ji = 1, jpi 168 166 zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) ) & ! No damping in vicinity of river mouths 169 & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj) ) & 170 & / ( sss_m(ji,jj) + 1.e-20 ) 167 & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj) ) 171 168 emps(ji,jj) = emps(ji,jj) + zerp 172 erp( ji,jj) = zerp 169 erp( ji,jj) = zerp / MAX( sss_m(ji,jj), 1.e-20 ) ! converted into an equivalent emp (diag. only) 173 170 END DO 174 171 END DO 175 172 CALL iom_put( "erp", erp ) ! freshwater flux damping 176 173 ! 177 ELSEIF( nn_sssr == 2 ) THEN !* Salinity damping term (volume flux , emp and emps)174 ELSEIF( nn_sssr == 2 ) THEN !* Salinity damping term (volume flux (emp) and qns) 178 175 zsrp = rn_deds / rday ! from [mm/day] to [kg/m2/s] 179 176 zerp_bnd = rn_sssr_bnd / rday ! - - … … 183 180 zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) ) & ! No damping in vicinity of river mouths 184 181 & * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj) ) & 185 & / ( sss_m(ji,jj) + 1.e-20)182 & / MAX( sss_m(ji,jj), 1.e-20 ) 186 183 IF( ln_sssr_bnd ) zerp = SIGN( 1., zerp ) * MIN( zerp_bnd, ABS(zerp) ) 187 emp (ji,jj) = emp (ji,jj) + zerp 188 emps(ji,jj) = emps(ji,jj) + zerp 189 erp (ji,jj) = zerp 184 !!gm better coding IF( ln_sssr_bnd ) zerp = MAX( -zerp_bnd, MIN( zerp, zerp_bnd ) ) 185 emp(ji,jj) = emp(ji,jj) + zerp 186 qns(ji,jj) = qns(ji,jj) - zerp * rcp * sst_m(ji,jj) 187 erp(ji,jj) = zerp 190 188 END DO 191 189 END DO
Note: See TracChangeset
for help on using the changeset viewer.