- Timestamp:
- 2012-11-26T11:58:31+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_LOCEAN_UKMO_2012/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r3294 r3653 52 52 LOGICAL :: ln_degrad = .false. !: degradation option enabled or not 53 53 54 INTEGER , PARAMETER :: jpfld = 19! maximum number of files to read54 INTEGER , PARAMETER :: jpfld = 20 ! maximum number of files to read 55 55 INTEGER , SAVE :: jf_tem ! index of temperature 56 56 INTEGER , SAVE :: jf_sal ! index of salinity … … 61 61 INTEGER , SAVE :: jf_mld ! index of mixed layer deptht 62 62 INTEGER , SAVE :: jf_emp ! index of water flux 63 INTEGER , SAVE :: jf_emps ! index of water flux - concentr/dilution 63 64 INTEGER , SAVE :: jf_qsr ! index of solar radiation 64 65 INTEGER , SAVE :: jf_wnd ! index of wind speed … … 241 242 ENDIF 242 243 ! 243 tsn(:,:,:,jp_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:) ! temperature244 tsn(:,:,:,jp_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:) ! salinity244 tsn(:,:,:,jp_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:) ! temperature 245 tsn(:,:,:,jp_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:) ! salinity 245 246 ! 246 247 CALL eos ( tsn, rhd, rhop ) ! In any case, we need rhop 247 248 CALL zdf_mxl( kt ) ! In any case, we need mxl 248 249 ! 249 avt(:,:,:) = sf_dyn(jf_avt)%fnow(:,:,:) * tmask(:,:,:) ! vertical diffusive coefficient250 un (:,:,:) = sf_dyn(jf_uwd)%fnow(:,:,:) * umask(:,:,:) ! u-velocity251 vn (:,:,:) = sf_dyn(jf_vwd)%fnow(:,:,:) * vmask(:,:,:) ! v-velocity250 avt(:,:,:) = sf_dyn(jf_avt)%fnow(:,:,:) * tmask(:,:,:) ! vertical diffusive coefficient 251 un (:,:,:) = sf_dyn(jf_uwd)%fnow(:,:,:) * umask(:,:,:) ! u-velocity 252 vn (:,:,:) = sf_dyn(jf_vwd)%fnow(:,:,:) * vmask(:,:,:) ! v-velocity 252 253 IF( .NOT.ln_dynwzv ) & ! w-velocity read in file 253 wn (:,:,:) = sf_dyn(jf_wwd)%fnow(:,:,:) * tmask(:,:,:)254 hmld(:,:) = sf_dyn(jf_mld)%fnow(:,:,1) * tmask(:,:,1) ! mixed layer depht255 wndm(:,:) = sf_dyn(jf_wnd)%fnow(:,:,1) * tmask(:,:,1) ! wind speed - needed for gas exchange256 emp (:,:) = sf_dyn(jf_emp)%fnow(:,:,1) * tmask(:,:,1) ! E-P257 emps(:,:) = emp(:,:)258 fr_i(:,:) = sf_dyn(jf_ice)%fnow(:,:,1) * tmask(:,:,1)! Sea-ice fraction259 qsr (:,:) = sf_dyn(jf_qsr)%fnow(:,:,1) * tmask(:,:,1) ! solar radiation254 wn (:,:,:) = sf_dyn(jf_wwd)%fnow(:,:,:) * tmask(:,:,:) 255 hmld(:,:) = sf_dyn(jf_mld)%fnow(:,:,1) * tmask(:,:,1) ! mixed layer depht 256 wndm(:,:) = sf_dyn(jf_wnd)%fnow(:,:,1) * tmask(:,:,1) ! wind speed - needed for gas exchange 257 emp (:,:) = sf_dyn(jf_emp)%fnow(:,:,1) * tmask(:,:,1) ! E-P 258 emps(:,:) = sf_dyn(jf_emps)%fnow(:,:,1) * tmask(:,:,1) ! (E-P)*S 259 fr_i(:,:) = sf_dyn(jf_ice)%fnow(:,:,1) * tmask(:,:,1) ! Sea-ice fraction 260 qsr (:,:) = sf_dyn(jf_qsr)%fnow(:,:,1) * tmask(:,:,1) ! solar radiation 260 261 261 262 ! ! bbl diffusive coef … … 302 303 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask, ovlap=1 ) 303 304 CALL prt_ctl(tab2d_1=hmld , clinfo1=' hmld - : ', mask1=tmask, ovlap=1 ) 305 CALL prt_ctl(tab2d_1=emp , clinfo1=' emp - : ', mask1=tmask, ovlap=1 ) 304 306 CALL prt_ctl(tab2d_1=emps , clinfo1=' emps - : ', mask1=tmask, ovlap=1 ) 305 307 CALL prt_ctl(tab2d_1=wndm , clinfo1=' wspd - : ', mask1=tmask, ovlap=1 ) … … 328 330 CHARACTER(len=100) :: cn_dir ! Root directory for location of core files 329 331 TYPE(FLD_N), DIMENSION(jpfld) :: slf_d ! array of namelist informations on the fields to read 330 TYPE(FLD_N) :: sn_tem, sn_sal, sn_mld, sn_emp, sn_ ice, sn_qsr, sn_wnd! informations about the fields to be read331 TYPE(FLD_N) :: sn_ uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl ! " "332 TYPE(FLD_N) :: sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv , sn_eiw ! " "332 TYPE(FLD_N) :: sn_tem, sn_sal, sn_mld, sn_emp, sn_emps, sn_ice, sn_qsr ! informations about the fields to be read 333 TYPE(FLD_N) :: sn_wnd, sn_uwd, sn_vwd, sn_wwd, sn_avt , sn_ubl, sn_vbl ! " " 334 TYPE(FLD_N) :: sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv , sn_eiw ! " " 333 335 ! 334 336 NAMELIST/namdta_dyn/cn_dir, ln_dynwzv, ln_dynbbl, ln_degrad, & 335 & sn_tem, sn_sal, sn_mld, sn_emp, sn_ ice, sn_qsr, sn_wnd,&336 & sn_ uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl,&337 & sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv , sn_eiw337 & sn_tem, sn_sal, sn_mld, sn_emp, sn_emps, sn_ice, sn_qsr, & 338 & sn_wnd, sn_uwd, sn_vwd, sn_wwd, sn_avt , sn_ubl, sn_vbl, & 339 & sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv , sn_eiw 338 340 339 341 !!---------------------------------------------------------------------- … … 347 349 sn_sal = FLD_N( 'dyna_grid_T' , 120 , 'vosaline' , .true. , .true. , 'yearly' , '' , '' ) 348 350 sn_mld = FLD_N( 'dyna_grid_T' , 120 , 'somixght' , .true. , .true. , 'yearly' , '' , '' ) 349 sn_emp = FLD_N( 'dyna_grid_T' , 120 , 'sowaflcd' , .true. , .true. , 'yearly' , '' , '' ) 351 sn_emp = FLD_N( 'dyna_grid_T' , 120 , 'sowaflup' , .true. , .true. , 'yearly' , '' , '' ) 352 sn_emps = FLD_N( 'dyna_grid_T' , 120 , 'sowaflcd' , .true. , .true. , 'yearly' , '' , '' ) 350 353 sn_ice = FLD_N( 'dyna_grid_T' , 120 , 'soicecov' , .true. , .true. , 'yearly' , '' , '' ) 351 354 sn_qsr = FLD_N( 'dyna_grid_T' , 120 , 'soshfldo' , .true. , .true. , 'yearly' , '' , '' ) … … 388 391 ENDIF 389 392 390 jf_tem = 1 ; jf_sal = 2 ; jf_mld = 3 ; jf_emp = 4 ; jf_ ice = 5 ; jf_qsr = 6391 jf_wnd = 7 ; jf_uwd = 8 ; jf_vwd = 9 ; jf_wwd = 10 ; jf_avt = 11 ; jfld = 11392 ! 393 slf_d(jf_tem) = sn_tem ; slf_d(jf_sal) = sn_sal ; slf_d(jf_mld) = sn_mld394 slf_d(jf_emp) = sn_emp ; slf_d(jf_ ice) = sn_ice ; slf_d(jf_qsr) = sn_qsr395 slf_d(jf_ wnd) = sn_wnd ; slf_d(jf_uwd) = sn_uwd ; slf_d(jf_vwd) = sn_vwd396 slf_d(jf_ wwd) = sn_wwd ; slf_d(jf_avt) = sn_avt393 jf_tem = 1 ; jf_sal = 2 ; jf_mld = 3 ; jf_emp = 4 ; jf_emps = 5 ; jf_ice = 6 ; jf_qsr = 7 394 jf_wnd = 8 ; jf_uwd = 9 ; jf_vwd = 10 ; jf_wwd = 11 ; jf_avt = 12 ; jfld = 12 395 ! 396 slf_d(jf_tem) = sn_tem ; slf_d(jf_sal) = sn_sal ; slf_d(jf_mld) = sn_mld 397 slf_d(jf_emp) = sn_emp ; slf_d(jf_emps) = sn_emps ; slf_d(jf_ice) = sn_ice 398 slf_d(jf_qsr) = sn_qsr ; slf_d(jf_wnd) = sn_wnd ; slf_d(jf_avt) = sn_avt 399 slf_d(jf_uwd) = sn_uwd ; slf_d(jf_vwd) = sn_vwd ; slf_d(jf_wwd) = sn_wwd 397 400 ! 398 401 IF( .NOT.ln_degrad ) THEN ! no degrad option 399 402 IF( lk_traldf_eiv .AND. ln_dynbbl ) THEN ! eiv & bbl 400 jf_ubl = 1 2 ; jf_vbl = 13 ; jf_eiw = 14 ; jfld = 14403 jf_ubl = 13 ; jf_vbl = 14 ; jf_eiw = 15 ; jfld = 15 401 404 slf_d(jf_ubl) = sn_ubl ; slf_d(jf_vbl) = sn_vbl ; slf_d(jf_eiw) = sn_eiw 402 405 ENDIF 403 406 IF( .NOT.lk_traldf_eiv .AND. ln_dynbbl ) THEN ! no eiv & bbl 404 jf_ubl = 1 2 ; jf_vbl = 13 ; jfld = 13407 jf_ubl = 13 ; jf_vbl = 14 ; jfld = 14 405 408 slf_d(jf_ubl) = sn_ubl ; slf_d(jf_vbl) = sn_vbl 406 409 ENDIF 407 410 IF( lk_traldf_eiv .AND. .NOT.ln_dynbbl ) THEN ! eiv & no bbl 408 jf_eiw = 1 2 ; jfld = 12; slf_d(jf_eiw) = sn_eiw411 jf_eiw = 13 ; jfld = 13 ; slf_d(jf_eiw) = sn_eiw 409 412 ENDIF 410 413 ELSE 411 jf_ahu = 1 2 ; jf_ahv = 13 ; jf_ahw = 14 ; jfld = 14414 jf_ahu = 13 ; jf_ahv = 14 ; jf_ahw = 15 ; jfld = 15 412 415 slf_d(jf_ahu) = sn_ahu ; slf_d(jf_ahv) = sn_ahv ; slf_d(jf_ahw) = sn_ahw 413 416 IF( lk_traldf_eiv .AND. ln_dynbbl ) THEN ! eiv & bbl 414 jf_ubl = 1 5 ; jf_vbl = 16417 jf_ubl = 16 ; jf_vbl = 17 415 418 slf_d(jf_ubl) = sn_ubl ; slf_d(jf_vbl) = sn_vbl 416 jf_eiu = 1 7 ; jf_eiv = 18 ; jf_eiw = 19 ; jfld = 19419 jf_eiu = 18 ; jf_eiv = 19 ; jf_eiw = 20 ; jfld = 20 417 420 slf_d(jf_eiu) = sn_eiu ; slf_d(jf_eiv) = sn_eiv ; slf_d(jf_eiw) = sn_eiw 418 421 ENDIF 419 422 IF( .NOT.lk_traldf_eiv .AND. ln_dynbbl ) THEN ! no eiv & bbl 420 jf_ubl = 1 5 ; jf_vbl = 16 ; jfld = 16423 jf_ubl = 16 ; jf_vbl = 17 ; jfld = 17 421 424 slf_d(jf_ubl) = sn_ubl ; slf_d(jf_vbl) = sn_vbl 422 425 ENDIF 423 426 IF( lk_traldf_eiv .AND. .NOT.ln_dynbbl ) THEN ! eiv & no bbl 424 jf_eiu = 1 5 ; jf_eiv = 16 ; jf_eiw = 17 ; jfld = 17427 jf_eiu = 16 ; jf_eiv = 17 ; jf_eiw = 18 ; jfld = 18 425 428 slf_d(jf_eiu) = sn_eiu ; slf_d(jf_eiv) = sn_eiv ; slf_d(jf_eiw) = sn_eiw 426 429 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.