Changeset 1705 for trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90
- Timestamp:
- 2009-11-03T17:37:00+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r1695 r1705 43 43 PUBLIC blk_ice_core ! routine called in sbc_ice_lim module 44 44 45 INTEGER , PARAMETER :: jpfld = 8! maximum number of files to read45 INTEGER , PARAMETER :: jpfld = 9 ! maximum number of files to read 46 46 INTEGER , PARAMETER :: jp_wndi = 1 ! index of 10m wind velocity (i-component) (m/s) at T-point 47 47 INTEGER , PARAMETER :: jp_wndj = 2 ! index of 10m wind velocity (j-component) (m/s) at T-point … … 52 52 INTEGER , PARAMETER :: jp_prec = 7 ! index of total precipitation (rain+snow) (Kg/m2/s) 53 53 INTEGER , PARAMETER :: jp_snow = 8 ! index of snow (solid prcipitation) (kg/m2/s) 54 INTEGER , PARAMETER :: jp_tdif = 9 ! index of tau diff associated to HF tau (N/m2) at T-point 54 55 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf ! structure of input fields (file informations, fields read) 55 56 … … 63 64 64 65 ! !!* Namelist namsbc_core : CORE bulk parameters 65 LOGICAL :: ln_2m = .FALSE. ! logical flag for height of air temp. and hum 66 REAL(wp) :: rn_pfac = 1. ! multiplication factor for precipitation 66 LOGICAL :: ln_2m = .FALSE. ! logical flag for height of air temp. and hum 67 LOGICAL :: ln_taudif = .FALSE. ! logical flag to use the "mean of stress module - module of mean stress" data 68 REAL(wp) :: rn_pfac = 1. ! multiplication factor for precipitation 67 69 68 70 !! * Substitutions … … 93 95 !! the total precipitation (rain+snow) (Kg/m2/s) 94 96 !! the snow (solid prcipitation) (kg/m2/s) 97 !! OPTIONAL parameter (see ln_taudif namelist flag): 98 !! the tau diff associated to HF tau (N/m2) at T-point 95 99 !! (2) CALL blk_oce_core 96 100 !! … … 110 114 INTEGER :: ierror ! return error code 111 115 INTEGER :: ifpr ! dummy loop indice 116 INTEGER :: jfld ! dummy loop arguments 112 117 !! 113 118 CHARACTER(len=100) :: cn_dir ! Root directory for location of core files … … 115 120 TYPE(FLD_N) :: sn_wndi, sn_wndj, sn_humi, sn_qsr ! informations about the fields to be read 116 121 TYPE(FLD_N) :: sn_qlw , sn_tair, sn_prec, sn_snow ! " " 117 NAMELIST/namsbc_core/ cn_dir, ln_2m, rn_pfac, sn_wndi, sn_wndj, sn_humi, sn_qsr, & 118 & sn_qlw , sn_tair, sn_prec, sn_snow 122 TYPE(FLD_N) :: sn_tdif ! " " 123 NAMELIST/namsbc_core/ cn_dir , ln_2m , ln_taudif, rn_pfac, & 124 & sn_wndi, sn_wndj, sn_humi , sn_qsr , & 125 & sn_qlw , sn_tair, sn_prec , sn_snow, sn_tdif 119 126 !!--------------------------------------------------------------------- 120 127 … … 136 143 sn_prec = FLD_N( 'precip' , -1. , 'precip' , .true. , .false. , 'yearly' , '' , '' ) 137 144 sn_snow = FLD_N( 'snow' , -1. , 'snow' , .true. , .false. , 'yearly' , '' , '' ) 145 sn_tdif = FLD_N( 'taudif' , 24. , 'taudif' , .true. , .false. , 'yearly' , '' , '' ) 138 146 ! 139 147 REWIND( numnam ) ! ... read in namlist namsbc_core … … 145 153 slf_i(jp_tair) = sn_tair ; slf_i(jp_humi) = sn_humi 146 154 slf_i(jp_prec) = sn_prec ; slf_i(jp_snow) = sn_snow 155 slf_i(jp_tdif) = sn_tdif 156 ! 157 ! do we use HF tau information? 158 lhftau = ln_taudif 159 jfld = jpfld - COUNT( (/.NOT. lhftau/) ) 147 160 ! 148 161 ! set sf structure 149 ALLOCATE( sf(j pfld), STAT=ierror )162 ALLOCATE( sf(jfld), STAT=ierror ) 150 163 IF( ierror > 0 ) THEN 151 164 CALL ctl_stop( 'sbc_blk_core: unable to allocate sf structure' ) ; RETURN 152 165 ENDIF 153 DO ifpr= 1, j pfld166 DO ifpr= 1, jfld 154 167 ALLOCATE( sf(ifpr)%fnow(jpi,jpj) ) 155 168 ALLOCATE( sf(ifpr)%fdta(jpi,jpj,2) ) … … 291 304 END DO 292 305 END DO 306 307 ! ... add the HF tau contribution to the wind stress module? 308 IF( lhftau ) THEN 309 !CDIR COLLAPSE 310 taum(:,:) = taum(:,:) + sf(jp_tdif)%fnow(:,:) 311 ENDIF 312 CALL iom_put( "taum_oce", taum ) ! output wind stress module 313 293 314 ! ... utau, vtau at U- and V_points, resp. 294 315 ! Note the use of 0.5*(2-umask) in order to unmask the stress along coastlines
Note: See TracChangeset
for help on using the changeset viewer.