- Timestamp:
- 2015-10-08T15:52:43+02:00 (9 years ago)
- Location:
- branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/cyclone.F90
r5781 r5783 41 41 !!---------------------------------------------------------------------- 42 42 !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 43 !! $Id$ 43 !! $Id$ 44 44 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 45 45 !!---------------------------------------------------------------------- -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r5781 r5783 32 32 PUBLIC fld_map ! routine called by tides_init 33 33 PUBLIC fld_read, fld_fill ! called by sbc... modules 34 PUBLIC fld_clopn 34 35 35 36 TYPE, PUBLIC :: FLD_N !: Namelist field informations … … 815 816 imonth = kmonth 816 817 iday = kday 818 IF ( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week 819 isec_week = ksec_week( sdjf%cltype(6:8) )- (86400 * 8 ) 820 llprevmth = isec_week > nsec_month ! longer time since beginning of the week than the month 821 llprevyr = llprevmth .AND. nmonth == 1 822 iyear = nyear - COUNT((/llprevyr /)) 823 imonth = nmonth - COUNT((/llprevmth/)) + 12 * COUNT((/llprevyr /)) 824 iday = nday + nmonth_len(nmonth-1) * COUNT((/llprevmth/)) - isec_week / NINT(rday) 825 ENDIF 817 826 ELSE ! use current day values 818 827 IF ( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/geo2ocean.F90
r5781 r5783 45 45 !!---------------------------------------------------------------------- 46 46 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 47 !! $Id$ 47 !! $Id$ 48 48 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 49 49 !!---------------------------------------------------------------------- -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r5781 r5783 121 121 !!---------------------------------------------------------------------- 122 122 !! NEMO/OPA 4.0 , NEMO Consortium (2011) 123 !! $Id$ 123 !! $Id$ 124 124 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 125 125 !!---------------------------------------------------------------------- -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r5781 r5783 89 89 !!---------------------------------------------------------------------- 90 90 !! NEMO/OPA 4.0 , NEMO Consortium (2011) 91 !! $Id$ 91 !! $Id$ 92 92 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 93 93 !!---------------------------------------------------------------------- -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r5781 r5783 403 403 CALL iom_put( "qsr_oce" , qsr ) ! output downward solar heat over the ocean 404 404 CALL iom_put( "qt_oce" , qns+qsr ) ! output total downward heat over the ocean 405 tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac ! output total precipitation [kg/m2/s] 406 sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac ! output solid precipitation [kg/m2/s] 407 CALL iom_put( 'snowpre', sprecip * 86400. ) ! Snow 408 CALL iom_put( 'precip' , tprecip * 86400. ) ! Total precipitation 405 409 ENDIF 406 410 ! -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcdcy.F90
r5781 r5783 32 32 !!---------------------------------------------------------------------- 33 33 !! NEMO/OPA 3.3 , NEMO-consortium (2010) 34 !! $Id$ 34 !! $Id$ 35 35 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 36 !!---------------------------------------------------------------------- -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90
r5781 r5783 108 108 ! 109 109 IF( MOD( kt-1, kn_fsbc ) == 0 ) THEN 110 z_fwf = glob_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + rdivisf * fwfisf(:,:) -snwice_fmass(:,:) ) ) / area ! sum over the global domain110 z_fwf = glob_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + fwfisf(:,:) - snwice_fmass(:,:) ) ) / area ! sum over the global domain 111 111 zcoef = z_fwf * rcp 112 112 emp(:,:) = emp(:,:) - z_fwf * tmask(:,:,1) … … 162 162 zsurf_pos = glob_sum( e1e2t(:,:)*ztmsk_pos(:,:) ) 163 163 ! ! fwf global mean (excluding ocean to ice/snow exchanges) 164 z_fwf = glob_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + rdivisf *fwfisf(:,:) - snwice_fmass(:,:) ) ) / area164 z_fwf = glob_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + fwfisf(:,:) - snwice_fmass(:,:) ) ) / area 165 165 ! 166 166 IF( z_fwf < 0._wp ) THEN ! spread out over >0 erp area to increase evaporation -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r5781 r5783 92 92 REAL(wp) :: rmin 93 93 REAL(wp) :: zhk 94 CHARACTER(len=256) :: cfisf, cvarzisf, cvarhisf ! name for isf file 94 REAL(wp) :: zt_frz, zpress 95 CHARACTER(len=256) :: cfisf , cvarzisf, cvarhisf ! name for isf file 95 96 CHARACTER(LEN=256) :: cnameis ! name of iceshelf file 96 97 CHARACTER (LEN=32) :: cvarLeff ! variable name for efficient Length scale … … 194 195 END IF 195 196 197 ! compute bottom level of isf tbl and thickness of tbl below the ice shelf 196 198 rhisf_tbl_0(:,:) = rhisf_tbl(:,:) 197 198 ! compute bottom level of isf tbl and thickness of tbl below the ice shelf199 199 DO jj = 1,jpj 200 200 DO ji = 1,jpi … … 270 270 END IF 271 271 ! compute tsc due to isf 272 ! WARNING water add at temp = 0C, correction term is added in trasbc, maybe better here but need a 3D variable). 273 risf_tsc(:,:,jp_tem) = qisf(:,:) * r1_rau0_rcp ! 272 ! WARNING water add at temp = 0C, correction term is added, maybe better here but need a 3D variable). 273 ! zpress = grav*rau0*fsdept(ji,jj,jk)*1.e-04 274 zt_frz = -1.9 !eos_fzp( tsn(ji,jj,jk,jp_sal), zpress ) 275 risf_tsc(:,:,jp_tem) = qisf(:,:) * r1_rau0_rcp - rdivisf * fwfisf(:,:) * zt_frz * r1_rau0 ! 274 276 275 277 ! salt effect already take into account in vertical advection 276 278 risf_tsc(:,:,jp_sal) = (1.0_wp-rdivisf) * fwfisf(:,:) * stbl(:,:) * r1_rau0 277 279 280 ! output 281 IF( iom_use('qisf' ) ) CALL iom_put('qisf' , qisf) 282 IF( iom_use('fwfisf') ) CALL iom_put('fwfisf', fwfisf * stbl(:,:) / soce ) 283 284 ! if apply only on the trend and not as a volume flux (rdivisf = 0), fwfisf have to be set to 0 now 285 fwfisf(:,:) = rdivisf * fwfisf(:,:) 286 278 287 ! lbclnk 279 288 CALL lbc_lnk(risf_tsc(:,:,jp_tem),'T',1.) … … 295 304 ENDIF 296 305 ! 297 ! output298 CALL iom_put('qisf' , qisf)299 IF( iom_use('fwfisf') ) CALL iom_put('fwfisf', fwfisf * stbl(:,:) / soce )300 306 END IF 301 307 … … 472 478 473 479 nit = nit + 1 474 IF (nit .GE. 100) THEN 475 !WRITE(numout,*) "sbcisf : too many iteration ... ", zhtflx, zhtflx_b,zgammat, rn_gammat0, rn_tfri2, nn_gammablk, ji,jj 476 !WRITE(numout,*) "sbcisf : too many iteration ... ", (zhtflx - zhtflx_b)/zhtflx 477 CALL ctl_stop( 'STOP', 'sbc_isf_hol99 : too many iteration ...' ) 478 END IF 480 IF (nit .GE. 100) CALL ctl_stop( 'STOP', 'sbc_isf_hol99 : too many iteration ...' ) 481 479 482 ! save gammat and compute zhtflx_b 480 483 zgammat2d(ji,jj)=zgammat … … 794 797 ! test on tmask useless ????? 795 798 DO jk = ikt, mbkt(ji,jj) 796 !IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk799 IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 797 800 END DO 798 801 rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t(ji,jj,ikt:ikb))) ! limit the tbl to water thickness. -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r5781 r5783 179 179 180 180 ! ! Checks: 181 IF( nn_isf .EQ. 0 ) THEN ! no specific treatment in vicinity ofice shelf181 IF( nn_isf .EQ. 0 ) THEN ! variable initialisation if no ice shelf 182 182 IF( sbc_isf_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_isf arrays' ) 183 fwfisf (:,:) = 0.0_wp 184 fwfisf_b(:,:) = 0.0_wp 183 fwfisf (:,:) = 0.0_wp ; fwfisf_b (:,:) = 0.0_wp 184 risf_tsc(:,:,:) = 0.0_wp ; risf_tsc_b(:,:,:) = 0.0_wp 185 rdivisf = 0.0_wp 185 186 END IF 186 187 IF( nn_ice == 0 .AND. nn_components /= jp_iam_opa ) fr_i(:,:) = 0.e0 ! no ice in the domain, ice fraction is always zero -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/OPA_SRC/SBC/tide_mod.F90
r5781 r5783 35 35 !!---------------------------------------------------------------------- 36 36 !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 37 !! $Id$ 37 !! $Id$ 38 38 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 39 39 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.