Changeset 6630 for branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
- Timestamp:
- 2016-05-26T18:28:12+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r6626 r6630 33 33 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hmlp !: mixed layer depth (rho=rho0+zdcrit) [m] 34 34 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hmlpt !: mixed layer depth at t-points [m] 35 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: hmld_tref !: mixed layer depth at t-points - temperature criterion [m] 35 36 36 37 REAL(wp), PUBLIC :: rho_c = 0.01_wp !: density criterion for mixed layer depth … … 52 53 zdf_mxl_alloc = 0 ! set to zero if no array to be allocated 53 54 IF( .NOT. ALLOCATED( nmln ) ) THEN 54 ALLOCATE( nmln(jpi,jpj), hmld(jpi,jpj), hmlp(jpi,jpj), hmlpt(jpi,jpj), STAT= zdf_mxl_alloc ) 55 ALLOCATE( nmln(jpi,jpj), hmld(jpi,jpj), hmlp(jpi,jpj), hmlpt(jpi,jpj), & 56 & hmld_tref(jpi,jpj), STAT= zdf_mxl_alloc ) 55 57 ! 56 58 IF( lk_mpp ) CALL mpp_sum ( zdf_mxl_alloc ) … … 84 86 REAL(wp) :: zN2_c ! local scalar 85 87 INTEGER, POINTER, DIMENSION(:,:) :: imld ! 2D workspace 88 REAL(wp) :: t_ref ! Reference temperature 89 REAL(wp) :: temp_c = 0.2 ! temperature criterion for mixed layer depth 86 90 !!---------------------------------------------------------------------- 87 91 ! … … 137 141 CALL iom_put( "mldkz5" , hmld ) ! turbocline depth 138 142 ENDIF 143 144 !For the AMM model assimiation uses a temperature based mixed layer depth 145 !This is defined here 146 DO jj = 1, jpj 147 DO ji = 1, jpi 148 hmld_tref(ji,jj)=fsdept(ji,jj,1 ) 149 IF(ssmask(ji,jj) > 0.)THEN 150 t_ref=tsn(ji,jj,1,jp_tem) 151 DO jk=2,jpk 152 IF(ssmask(ji,jj)==0.)THEN 153 hmld_tref(ji,jj)=fsdept(ji,jj,jk ) 154 EXIT 155 ELSEIF( ABS(tsn(ji,jj,jk,jp_tem)-t_ref) < temp_c)THEN 156 hmld_tref(ji,jj)=fsdept(ji,jj,jk ) 157 ELSE 158 EXIT 159 ENDIF 160 ENDDO 161 ENDIF 162 ENDDO 163 ENDDO 139 164 140 165 IF(ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 )
Note: See TracChangeset
for help on using the changeset viewer.