Changeset 2128 for branches/devukmo2010/NEMO/OPA_SRC/DIA
- Timestamp:
- 2010-09-28T14:29:51+02:00 (14 years ago)
- Location:
- branches/devukmo2010/NEMO/OPA_SRC/DIA
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/devukmo2010/NEMO/OPA_SRC/DIA/diafwb.F90
r1581 r2128 30 30 LOGICAL, PUBLIC, PARAMETER :: lk_diafwb = .TRUE. !: fresh water budget flag 31 31 32 REAL(wp) :: a_ emp, &32 REAL(wp) :: a_fwf , & 33 33 & a_sshb, a_sshn, a_salb, a_saln 34 34 REAL(wp), DIMENSION(4) :: a_flxi, a_flxo, a_temi, a_temo, a_sali, a_salo … … 59 59 REAL(wp) :: ztemi(4), ztemo(4), zsali(4), zsalo(4), zflxi(4), zflxo(4) 60 60 REAL(wp) :: zt, zs, zu 61 REAL(wp) :: zsm0, z empnew61 REAL(wp) :: zsm0, zfwfnew 62 62 !!---------------------------------------------------------------------- 63 63 … … 65 65 zsm0 = 34.72654 66 66 67 ! To compute emp mean value mean emp67 ! To compute fwf mean value mean fwf 68 68 69 69 IF( kt == nit000 ) THEN 70 70 71 a_ emp= 0.e071 a_fwf = 0.e0 72 72 a_sshb = 0.e0 ! valeur de ssh au debut de la simulation 73 73 a_salb = 0.e0 ! valeur de sal au debut de la simulation … … 87 87 ENDIF 88 88 89 a_ emp = SUM( e1t(:,:) * e2t(:,:) * emp (:,:) * tmask_i(:,:) )90 IF( lk_mpp ) CALL mpp_sum( a_ emp) ! sum over the global domain89 a_fwf = SUM( e1t(:,:) * e2t(:,:) * ( emp(:,:)-rnf(:,:) ) * tmask_i(:,:) ) 90 IF( lk_mpp ) CALL mpp_sum( a_fwf ) ! sum over the global domain 91 91 92 92 IF( kt == nitend ) THEN … … 95 95 zarea = 0.e0 96 96 zvol = 0.e0 97 z empnew = 0.e097 zfwfnew = 0.e0 98 98 ! Mean sea level at nitend 99 99 a_sshn = SUM( e1t(:,:) * e2t(:,:) * sshn(:,:) * tmask_i(:,:) ) … … 115 115 116 116 ! Conversion in m3 117 a_ emp = a_emp* rdttra(1) * 1.e-3117 a_fwf = a_fwf * rdttra(1) * 1.e-3 118 118 119 ! empcorrection to bring back the mean ssh to zero120 z empnew = a_sshn / ( ( nitend - nit000 + 1 ) * rdt ) * 1.e3 / zarea119 ! fwf correction to bring back the mean ssh to zero 120 zfwfnew = a_sshn / ( ( nitend - nit000 + 1 ) * rdt ) * 1.e3 / zarea 121 121 122 122 ENDIF … … 362 362 WRITE(inum,*) 363 363 WRITE(inum,*) 'Net freshwater budget ' 364 WRITE(inum,9010) ' emp = ',a_emp, ' m3 =', a_emp/(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv'364 WRITE(inum,9010) ' fwf = ',a_fwf, ' m3 =', a_fwf /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 365 365 WRITE(inum,*) 366 366 WRITE(inum,9010) ' zarea =',zarea -
branches/devukmo2010/NEMO/OPA_SRC/DIA/diawri.F90
r1792 r2128 346 346 !!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 347 347 !!$#endif 348 CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux" , "Kg/m2/s", & ! emp348 CALL histdef( nid_T, "sowaflup", "Net Upward Water Flux" , "Kg/m2/s", & ! (emp-rnf) 349 349 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 350 350 !!$ CALL histdef( nid_T, "sorunoff", "Runoffs" , "Kg/m2/s", & ! runoffs 351 351 !!$ & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 352 CALL histdef( nid_T, "sowaflcd", "concentration/dilution water flux" , "kg/m2/s", & ! emps353 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 354 CALL histdef( nid_T, "sosalflx", "Surface Salt Flux" , "Kg/m2/s", & ! emps* sn352 CALL histdef( nid_T, "sowaflcd", "concentration/dilution water flux" , "kg/m2/s", & ! (emps-rnf) 353 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 354 CALL histdef( nid_T, "sosalflx", "Surface Salt Flux" , "Kg/m2/s", & ! (emps-rnf) * sn 355 355 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 356 356 CALL histdef( nid_T, "sohefldo", "Net Downward Heat Flux" , "W/m2" , & ! qns + qsr … … 498 498 !!$ CALL histwrite( nid_T, "sowaflep", it, fmass(:,:) , ndim_hT, ndex_hT ) ! atmos=>ocean water flux 499 499 !!$#endif 500 CALL histwrite( nid_T, "sowaflup", it, emp, ndim_hT, ndex_hT ) ! upward water flux500 CALL histwrite( nid_T, "sowaflup", it, ( emp-rnf ) , ndim_hT, ndex_hT ) ! upward water flux 501 501 !!$ CALL histwrite( nid_T, "sorunoff", it, runoff , ndim_hT, ndex_hT ) ! runoff 502 CALL histwrite( nid_T, "sowaflcd", it, emps, ndim_hT, ndex_hT ) ! c/d water flux503 zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1)502 CALL histwrite( nid_T, "sowaflcd", it, ( emps-rnf ) , ndim_hT, ndex_hT ) ! c/d water flux 503 zw2d(:,:) = ( emps(:,:) - rnf(:,:) ) * sn(:,:,1) * tmask(:,:,1) 504 504 CALL histwrite( nid_T, "sosalflx", it, zw2d , ndim_hT, ndex_hT ) ! c/d salt flux 505 505 CALL histwrite( nid_T, "sohefldo", it, qns + qsr , ndim_hT, ndex_hT ) ! total heat flux … … 700 700 CALL histwrite( id_i, "vomecrty", kt, vn , jpi*jpj*jpk, idex ) ! now j-velocity 701 701 CALL histwrite( id_i, "vovecrtz", kt, wn , jpi*jpj*jpk, idex ) ! now k-velocity 702 CALL histwrite( id_i, "sowaflup", kt, emp, jpi*jpj , idex ) ! freshwater budget702 CALL histwrite( id_i, "sowaflup", kt, (emp-rnf), jpi*jpj , idex ) ! freshwater budget 703 703 CALL histwrite( id_i, "sohefldo", kt, qsr + qns, jpi*jpj , idex ) ! total heat flux 704 704 CALL histwrite( id_i, "soshfldo", kt, qsr , jpi*jpj , idex ) ! solar heat flux -
branches/devukmo2010/NEMO/OPA_SRC/DIA/diawri_dimg.h90
r1685 r2128 42 42 !! level 2: vtau(:,:) * vmask(:,:,1) meridional stress in N. m-2 43 43 !! level 3: qsr + qns total heat flux (W/m2) 44 !! level 4: emp (:,:)E-P flux (mm/day)44 !! level 4: ( emp (:,:)-rnf(:,:) ) E-P flux (mm/day) 45 45 !! level 5: tb (:,:,1)-sst model SST -forcing sst (degree C) ! deprecated 46 46 !! level 6: bsfb(:,:) streamfunction (m**3/s) … … 54 54 !! level 14: qct(:,:) equivalent flux due to treshold SST 55 55 !! level 15: fbt(:,:) feedback term . 56 !! level 16: emps(:,:)concentration/dilution water flux56 !! level 16: ( emps(:,:) - rnf(:,:) ) concentration/dilution water flux 57 57 !! level 17: fsalt(:,:) Ice=>ocean net freshwater 58 58 !! level 18: gps(:,:) the surface pressure (m). … … 167 167 fsel(:,:,2 ) = fsel(:,:,2 ) + vtau(:,:) * vmask(:,:,1) 168 168 fsel(:,:,3 ) = fsel(:,:,3 ) + qsr (:,:) + qns (:,:) 169 fsel(:,:,4 ) = fsel(:,:,4 ) + emp (:,:)169 fsel(:,:,4 ) = fsel(:,:,4 ) + ( emp(:,:)-rnf(:,:) ) 170 170 ! fsel(:,:,5 ) = fsel(:,:,5 ) + tb (:,:,1) !RB not used 171 171 fsel(:,:,6 ) = fsel(:,:,6 ) + sshn(:,:) … … 179 179 ! fsel(:,:,14) = fsel(:,:,14) + qct(:,:) 180 180 ! fsel(:,:,15) = fsel(:,:,15) + fbt(:,:) 181 fsel(:,:,16) = fsel(:,:,16) + emps(:,:)181 fsel(:,:,16) = fsel(:,:,16) + ( emps(:,:)-rnf(:,:) ) 182 182 #ifdef key_diaspr 183 183 fsel(:,:,18) = fsel(:,:,18) + gps(:,:)/g … … 242 242 fsel(:,:,2 ) = vtau(:,:) * vmask(:,:,1) 243 243 fsel(:,:,3 ) = (qsr (:,:) + qns (:,:)) * tmask(:,:,1) 244 fsel(:,:,4 ) = emp (:,:) * tmask(:,:,1)244 fsel(:,:,4 ) = ( emp(:,:)-rnf(:,:) ) * tmask(:,:,1) 245 245 ! fsel(:,:,5 ) = (tb (:,:,1) - sf_sst(1)%fnow(:,:) ) *tmask(:,:,1) !RB not used 246 246 … … 255 255 ! fsel(:,:,14) = qct(:,:) 256 256 ! fsel(:,:,15) = fbt(:,:) 257 fsel(:,:,16) = emps(:,:) * tmask(:,:,1)257 fsel(:,:,16) = ( emps(:,:)-rnf(:,:) ) * tmask(:,:,1) 258 258 #ifdef key_diaspr 259 259 fsel(:,:,18) = gps(:,:) /g
Note: See TracChangeset
for help on using the changeset viewer.