Changeset 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/ABL/ablmod.F90
- Timestamp:
- 2021-03-26T15:33:49+01:00 (3 years ago)
- Location:
- NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette _wave@13990sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/ABL/ablmod.F90
r14072 r14644 41 41 & pu_dta, pv_dta, pt_dta, pq_dta, & 42 42 & pslp_dta, pgu_dta, pgv_dta, & 43 & pcd_du, psen, pevp, 43 & pcd_du, psen, pevp, plat, & ! in/out 44 44 & pwndm, ptaui, ptauj, ptaum & 45 45 #if defined key_si3 … … 84 84 REAL(wp) , INTENT(inout), DIMENSION(:,: ) :: pevp ! Ce x Du 85 85 REAL(wp) , INTENT(inout), DIMENSION(:,: ) :: pwndm ! ||uwnd|| 86 REAL(wp) , INTENT( out), DIMENSION(:,: ) :: plat ! latent heat flux 86 87 REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptaui ! taux 87 88 REAL(wp) , INTENT( out), DIMENSION(:,: ) :: ptauj ! tauy … … 530 531 !------------- 531 532 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 532 ! ! 6 *** MPI exchanges 533 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 534 ! 535 CALL lbc_lnk _multi( 'ablmod', u_abl(:,:,:,nt_a ), 'T', -1._wp, v_abl(:,:,:,nt_a) , 'T', -1._wp )536 CALL lbc_lnk _multi( 'ablmod', tq_abl(:,:,:,nt_a,jp_ta), 'T', 1._wp , tq_abl(:,:,:,nt_a,jp_qa), 'T', 1._wp , kfillmode = jpfillnothing ) ! ++++ this should not be needed...537 ! 538 #if defined key_ iomput533 ! ! 6 *** MPI exchanges & IOM outputs 534 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 535 ! 536 CALL lbc_lnk( 'ablmod', u_abl(:,:,:,nt_a ), 'T', -1._wp, v_abl(:,:,:,nt_a) , 'T', -1._wp ) 537 CALL lbc_lnk( 'ablmod', tq_abl(:,:,:,nt_a,jp_ta), 'T', 1._wp , tq_abl(:,:,:,nt_a,jp_qa), 'T', 1._wp , kfillmode = jpfillnothing ) ! ++++ this should not be needed... 538 ! 539 #if defined key_xios 539 540 ! 2D & first ABL level 540 541 IF ( iom_use("pblh" ) ) CALL iom_put ( "pblh", pblh(:,: ) ) … … 590 591 psen( ji, jj ) = - cp_air(zhumi) * zcff * psen(ji,jj) * ( psst(ji,jj) + rt0 - ztemp ) !GS: negative sign to respect aerobulk convention 591 592 pevp( ji, jj ) = rn_efac*MAX( 0._wp, zcff * pevp(ji,jj) * ( pssq(ji,jj) - zhumi ) ) 593 plat( ji, jj ) = - L_vap( psst(ji,jj) ) * pevp( ji, jj ) 592 594 rhoa( ji, jj ) = zcff 593 595 END_2D … … 598 600 END_2D 599 601 ! 600 CALL lbc_lnk _multi( 'ablmod', zwnd_i(:,:) , 'T', -1.0_wp, zwnd_j(:,:) , 'T', -1.0_wp )602 CALL lbc_lnk( 'ablmod', zwnd_i(:,:) , 'T', -1.0_wp, zwnd_j(:,:) , 'T', -1.0_wp ) 601 603 ! 602 604 ! ... scalar wind ( = | U10m - U_oce | ) at T-point (masked) … … 623 625 END_2D 624 626 ! 625 CALL lbc_lnk _multi( 'ablmod', ptaui(:,:), 'U', -1.0_wp, ptauj(:,:), 'V', -1.0_wp )627 CALL lbc_lnk( 'ablmod', ptaui(:,:), 'U', -1.0_wp, ptauj(:,:), 'V', -1.0_wp ) 626 628 627 629 CALL iom_put( "taum_oce", ptaum ) … … 643 645 & * ( 0.5_wp * ( v_abl(ji,jj+1,2,nt_a) + v_abl(ji,jj,2,nt_a) ) - pssv_ice(ji,jj) ) 644 646 END_2D 645 CALL lbc_lnk _multi( 'ablmod', ptaui_ice, 'U', -1.0_wp, ptauj_ice, 'V', -1.0_wp )647 CALL lbc_lnk( 'ablmod', ptaui_ice, 'U', -1.0_wp, ptauj_ice, 'V', -1.0_wp ) 646 648 ! 647 649 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab2d_1=ptaui_ice , clinfo1=' abl_stp: putaui : ' & … … 662 664 & * ( zztmp2 - pssv_ice(ji,jj) ) 663 665 END_2D 664 CALL lbc_lnk _multi( 'ablmod', ptaui_ice, 'U', -1.0_wp, ptauj_ice,'V', -1.0_wp )666 CALL lbc_lnk( 'ablmod', ptaui_ice, 'U', -1.0_wp, ptauj_ice,'V', -1.0_wp ) 665 667 ! 666 668 IF(sn_cfctl%l_prtctl) THEN … … 1263 1265 smth_b = 1._wp / 4._wp 1264 1266 ! 1265 DO_2D( 1, 1, 1, 0)1267 DO_2D( 1, 0, 1, 1 ) 1266 1268 zumsk = msk(ji,jj) * msk(ji+1,jj) 1267 1269 zdX ( ji, jj ) = ( pvar2d( ji+1,jj ) - pvar2d( ji ,jj ) ) * zumsk 1268 1270 END_2D 1269 1271 1270 DO_2D( 1, 0, 1, 1)1272 DO_2D( 1, 1, 1, 0 ) 1271 1273 zvmsk = msk(ji,jj) * msk(ji,jj+1) 1272 1274 zdY ( ji, jj ) = ( pvar2d( ji, jj+1 ) - pvar2d( ji ,jj ) ) * zvmsk 1273 1275 END_2D 1274 1276 1275 DO_2D( 1, 0, 0, 0 )1277 DO_2D( 0, 0, 1, 0 ) 1276 1278 zFY ( ji, jj ) = zdY ( ji, jj ) & 1277 1279 & + smth_a* ( (zdX ( ji, jj+1 ) - zdX( ji-1, jj+1 )) & … … 1279 1281 END_2D 1280 1282 1281 DO_2D( 0, 0, 1, 0 )1283 DO_2D( 1, 0, 0, 0 ) 1282 1284 zFX( ji, jj ) = zdX( ji, jj ) & 1283 1285 & + smth_a*( (zdY( ji+1, jj ) - zdY( ji+1, jj-1)) &
Note: See TracChangeset
for help on using the changeset viewer.