Changeset 871
- Timestamp:
- 2008-03-27T17:32:35+01:00 (16 years ago)
- Location:
- branches/dev_001_SBC/NEMO/OPA_SRC/SBC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r840 r871 38 38 PRIVATE 39 39 40 PUBLIC sbc_blk_clio ! routine called by flx.F9041 PUBLIC blk_ice_clio ! routine called by flx.F9040 PUBLIC sbc_blk_clio ! routine called by sbcmod.F90 41 PUBLIC blk_ice_clio ! routine called by sbcice_lim.F90 42 42 43 43 INTEGER , PARAMETER :: jpfld = 7 ! maximum number of files to read … … 60 60 INTEGER, PARAMETER :: jpintsr = 24 ! number of time step between sunrise and sunset 61 61 ! ! uses for heat flux computation 62 LOGICAL :: lbulk_init = .TRUE. ! flag, bulk initialization done or not)62 LOGICAL :: lbulk_init = .TRUE. ! flag, bulk initialization done or not) 63 63 64 64 REAL(wp) :: cai = 1.40e-3 ! best estimate of atm drag in order to get correct FS export in ORCA2-LIM … … 93 93 SUBROUTINE sbc_blk_clio( kt ) 94 94 !!--------------------------------------------------------------------- 95 !! *** ROUTINE sbc_blk_c ore***95 !! *** ROUTINE sbc_blk_clio *** 96 96 !! 97 97 !! ** Purpose : provide at each time step the surface ocean fluxes … … 123 123 INTEGER, INTENT( in ) :: kt ! ocean time step 124 124 !! 125 INTEGER :: jf 126 INTEGER :: ierror ! return error code125 INTEGER :: jf, ifpr, jfpr ! dummy indices 126 INTEGER :: ierror ! return error code 127 127 !! 128 128 CHARACTER(len=100) :: cn_dir ! Root directory for location of CLIO files … … 131 131 TYPE(FLD_N) :: sn_humi, sn_ccov, sn_prec ! " " 132 132 !! 133 NAMELIST/namsbc_c ore/ cn_dir, sn_wndi, sn_wndj, sn_wndm, sn_humi, &133 NAMELIST/namsbc_clio/ cn_dir, sn_wndi, sn_wndj, sn_wndm, sn_humi, & 134 134 & sn_ccov, sn_tair, sn_prec 135 135 !!--------------------------------------------------------------------- … … 152 152 sn_prec = FLD_N( 'precip' , -12. , 'precip' , .TRUE. , 0 , 0 ) 153 153 154 REWIND( numnam ) ! ... read in namlist namsbc_c ore155 READ ( numnam, namsbc_c ore)154 REWIND( numnam ) ! ... read in namlist namsbc_clio 155 READ ( numnam, namsbc_clio ) 156 156 157 157 ! store namelist information in an array … … 179 179 WRITE(numout,*) 'sbc_blk_clio : flux formulattion for ocean surface boundary condition' 180 180 WRITE(numout,*) '~~~~~~~~~~~~ ' 181 WRITE(numout,*) ' namsbc_c oreNamelist'181 WRITE(numout,*) ' namsbc_clio Namelist' 182 182 WRITE(numout,*) ' list of files and frequency (>0: in hours ; <0 in months)' 183 183 DO jf = 1, jpfld … … 198 198 CALL fld_read( kt, nn_fsbc, sf ) ! input fields provided at the current time-step 199 199 ! 200 IF(lwp .AND. nitend-nit000 <= 100 ) THEN 201 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 202 WRITE(numout,*) 203 WRITE(numout,*) ' read monthly CLIO fluxes: ok, kt: ', kt 204 WRITE(numout,*) 205 ifpr = INT(jpi/8) ; jfpr = INT(jpj/10) 206 WRITE(numout,*) TRIM(sf(jp_wndi)%clvar),' day: ',ndastp 207 CALL prihre( sf(jp_wndi)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 208 WRITE(numout,*) 209 WRITE(numout,*) TRIM(sf(jp_wndj)%clvar),' day: ',ndastp 210 CALL prihre( sf(jp_wndj)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 211 WRITE(numout,*) 212 WRITE(numout,*) TRIM(sf(jp_humi)%clvar),' day: ',ndastp 213 CALL prihre( sf(jp_humi)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 214 WRITE(numout,*) 215 WRITE(numout,*) TRIM(sf(jp_wndm)%clvar),' day: ',ndastp 216 CALL prihre( sf(jp_wndm)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 217 WRITE(numout,*) 218 WRITE(numout,*) TRIM(sf(jp_ccov)%clvar),' day: ',ndastp 219 CALL prihre( sf(jp_ccov)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 220 WRITE(numout,*) 221 WRITE(numout,*) TRIM(sf(jp_prec)%clvar),' day: ',ndastp 222 CALL prihre( sf(jp_prec)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 223 WRITE(numout,*) 224 WRITE(numout,*) TRIM(sf(jp_tair)%clvar),' day: ',ndastp 225 CALL prihre( sf(jp_tair)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout ) 226 WRITE(numout,*) 227 ENDIF 228 ENDIF 229 200 230 IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN 201 231 CALL blk_oce_clio( sst_m, ssu_m, ssv_m ) ! compute the surface ocean fluxes using CLIO bulk formulea … … 261 291 DO jj = 1 , jpj 262 292 DO ji = 1, jpi 263 zcoef = 1.3 * cao * SQRT( sf(jp_wndi)%fnow(ji,jj)*sf(jp_wndi)%fnow(ji,jj) & 264 & + sf(jp_wndj)%fnow(ji,jj)*sf(jp_wndj)%fnow(ji,jj) ) 265 utau(ji,jj) = 1.3 * cao * zcoef * sf(jp_wndi)%fnow(ji,jj) 266 vtau(ji,jj) = 1.3 * cao * zcoef * sf(jp_wndj)%fnow(ji,jj) 293 utau(ji,jj) = sf(jp_wndi)%fnow(ji,jj) 294 vtau(ji,jj) = sf(jp_wndj)%fnow(ji,jj) 267 295 END DO 268 296 END DO … … 615 643 p_dqla(:,:,jl) = p_dqla(:,:,jl) * tmask(:,:,1) 616 644 END DO 645 617 646 END SUBROUTINE blk_ice_clio 618 647 -
branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r840 r871 120 120 CALL blk_albedo( alb_ice_os , alb_oce_os , alb_ice_cs , alb_oce_cs ) 121 121 122 123 122 ! ... surface ice boundary condition (stress at I-point, latente, sensible, etc.... 124 123 !!gm preciser la list exacte … … 142 141 CALL prt_ctl( tab2d_1=tprecip ,clinfo1=' precip : ', tab2d_2=sprecip , clinfo2=' Snow : ' ) 143 142 CALL prt_ctl( tab2d_1=utaui_ice,clinfo1=' utaui_ice: ', tab2d_2=vtaui_ice, clinfo2=' vtaui_ice: ' ) 143 CALL prt_ctl( tab2d_1=sst_m ,clinfo1=' sst : ', tab2d_2=sss_m , clinfo2=' sss : ' ) 144 CALL prt_ctl( tab2d_1=ui_oce ,clinfo1=' u_io : ', tab2d_2=vi_oce , clinfo2=' v_io : ' ) 144 145 CALL prt_ctl( tab2d_1=hsnif ,clinfo1=' hsnif 1 : ', tab2d_2=hicif , clinfo2=' hicif : ' ) 145 146 CALL prt_ctl( tab2d_1=frld ,clinfo1=' frld 1 : ', tab2d_2=sist , clinfo2=' sist : ' )
Note: See TracChangeset
for help on using the changeset viewer.