- Timestamp:
- 2017-12-01T05:41:32+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/ROMS_WAD_7832/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r7761 r8865 455 455 DO ji = 2, jpim1 456 456 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji+1,jj) ) > & 457 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) .AND. &458 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji+1,jj) + ht_wd(ji+1,jj) ) &457 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) .AND. & 458 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji+1,jj) + ht_0(ji+1,jj) ) & 459 459 & > rn_wdmin1 + rn_wdmin2 460 460 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 ) .AND. ( & 461 461 & MAX( sshn(ji,jj) , sshn(ji+1,jj) ) > & 462 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 )462 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 ) 463 463 464 464 IF(ll_tmp1) THEN … … 466 466 ELSE IF(ll_tmp2) THEN 467 467 ! no worries about sshn(ji+1,jj) - sshn(ji ,jj) = 0, it won't happen ! here 468 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_ wd(ji+1,jj) - sshn(ji,jj) - ht_wd(ji,jj)) &468 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_0(ji+1,jj) - sshn(ji,jj) - ht_0(ji,jj)) & 469 469 & / (sshn(ji+1,jj) - sshn(ji ,jj)) ) 470 470 ELSE … … 473 473 474 474 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji,jj+1) ) > & 475 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) .AND. &476 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji,jj+1) + ht_wd(ji,jj+1) ) &475 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) .AND. & 476 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji,jj+1) + ht_0(ji,jj+1) ) & 477 477 & > rn_wdmin1 + rn_wdmin2 478 478 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji,jj+1) ) > 1.E-12 ) .AND. ( & 479 479 & MAX( sshn(ji,jj) , sshn(ji,jj+1) ) > & 480 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 )480 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 ) 481 481 482 482 IF(ll_tmp1) THEN … … 484 484 ELSE IF(ll_tmp2) THEN 485 485 ! no worries about sshn(ji,jj+1) - sshn(ji,jj ) = 0, it won't happen ! here 486 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_ wd(ji,jj+1) - sshn(ji,jj) - ht_wd(ji,jj)) &486 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_0(ji,jj+1) - sshn(ji,jj) - ht_0(ji,jj)) & 487 487 & / (sshn(ji,jj+1) - sshn(ji,jj )) ) 488 488 ELSE … … 707 707 DO ji = 2, jpim1 708 708 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji+1,jj) ) > & 709 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) .AND. &710 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji+1,jj) + ht_wd(ji+1,jj) ) &709 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) .AND. & 710 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji+1,jj) + ht_0(ji+1,jj) ) & 711 711 & > rn_wdmin1 + rn_wdmin2 712 712 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 ) .AND. ( & 713 713 & MAX( sshn(ji,jj) , sshn(ji+1,jj) ) > & 714 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 )714 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 ) 715 715 716 716 IF(ll_tmp1) THEN … … 718 718 ELSE IF(ll_tmp2) THEN 719 719 ! no worries about sshn(ji+1,jj) - sshn(ji ,jj) = 0, it won't happen ! here 720 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_ wd(ji+1,jj) - sshn(ji,jj) - ht_wd(ji,jj)) &720 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_0(ji+1,jj) - sshn(ji,jj) - ht_0(ji,jj)) & 721 721 & / (sshn(ji+1,jj) - sshn(ji ,jj)) ) 722 722 ELSE … … 725 725 726 726 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji,jj+1) ) > & 727 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) .AND. &728 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji,jj+1) + ht_wd(ji,jj+1) ) &727 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) .AND. & 728 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji,jj+1) + ht_0(ji,jj+1) ) & 729 729 & > rn_wdmin1 + rn_wdmin2 730 730 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji,jj+1) ) > 1.E-12 ) .AND. ( & 731 731 & MAX( sshn(ji,jj) , sshn(ji,jj+1) ) > & 732 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 )732 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 ) 733 733 734 734 IF(ll_tmp1) THEN … … 736 736 ELSE IF(ll_tmp2) THEN 737 737 ! no worries about sshn(ji,jj+1) - sshn(ji,jj ) = 0, it won't happen ! here 738 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_ wd(ji,jj+1) - sshn(ji,jj) - ht_wd(ji,jj)) &738 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_0(ji,jj+1) - sshn(ji,jj) - ht_0(ji,jj)) & 739 739 & / (sshn(ji,jj+1) - sshn(ji,jj )) ) 740 740 ELSE … … 1006 1006 DO ji = 2, jpim1 1007 1007 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji+1,jj) ) > & 1008 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) .AND. &1009 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji+1,jj) + ht_wd(ji+1,jj) ) &1008 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) .AND. & 1009 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji+1,jj) + ht_0(ji+1,jj) ) & 1010 1010 & > rn_wdmin1 + rn_wdmin2 1011 1011 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 ) .AND. ( & 1012 1012 & MAX( sshn(ji,jj) , sshn(ji+1,jj) ) > & 1013 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 )1013 & MAX( -ht_0(ji,jj) , -ht_0(ji+1,jj) ) + rn_wdmin1 + rn_wdmin2 ) 1014 1014 1015 1015 IF(ll_tmp1) THEN … … 1017 1017 ELSE IF(ll_tmp2) THEN 1018 1018 ! no worries about sshn(ji+1,jj) - sshn(ji ,jj) = 0, it won't happen ! here 1019 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_ wd(ji+1,jj) - sshn(ji,jj) - ht_wd(ji,jj)) &1019 zcpx(ji,jj) = ABS( (sshn(ji+1,jj) + ht_0(ji+1,jj) - sshn(ji,jj) - ht_0(ji,jj)) & 1020 1020 & / (sshn(ji+1,jj) - sshn(ji ,jj)) ) 1021 1022 zcpx(ji,jj) = max(min( zcpx(ji,jj) , 1.0_wp),0.0_wp) 1021 1023 ELSE 1022 1024 zcpx(ji,jj) = 0._wp … … 1024 1026 1025 1027 ll_tmp1 = MIN( sshn(ji,jj) , sshn(ji,jj+1) ) > & 1026 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) .AND. &1027 & MAX( sshn(ji,jj) + ht_ wd(ji,jj), sshn(ji,jj+1) + ht_wd(ji,jj+1) ) &1028 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) .AND. & 1029 & MAX( sshn(ji,jj) + ht_0(ji,jj), sshn(ji,jj+1) + ht_0(ji,jj+1) ) & 1028 1030 & > rn_wdmin1 + rn_wdmin2 1029 1031 ll_tmp2 = ( ABS( sshn(ji,jj) - sshn(ji,jj+1) ) > 1.E-12 ) .AND. ( & 1030 1032 & MAX( sshn(ji,jj) , sshn(ji,jj+1) ) > & 1031 & MAX( -ht_ wd(ji,jj) , -ht_wd(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 )1033 & MAX( -ht_0(ji,jj) , -ht_0(ji,jj+1) ) + rn_wdmin1 + rn_wdmin2 ) 1032 1034 1033 1035 IF(ll_tmp1) THEN … … 1035 1037 ELSE IF(ll_tmp2) THEN 1036 1038 ! no worries about sshn(ji,jj+1) - sshn(ji,jj ) = 0, it won't happen ! here 1037 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_ wd(ji,jj+1) - sshn(ji,jj) - ht_wd(ji,jj)) &1039 zcpy(ji,jj) = ABS( (sshn(ji,jj+1) + ht_0(ji,jj+1) - sshn(ji,jj) - ht_0(ji,jj)) & 1038 1040 & / (sshn(ji,jj+1) - sshn(ji,jj )) ) 1041 zcpy(ji,jj) = max(min( zcpy(ji,jj) , 1.0_wp),0.0_wp) 1042 1039 1043 ELSE 1040 1044 zcpy(ji,jj) = 0._wp … … 1228 1232 ENDIF 1229 1233 IF( ln_wd ) THEN 1230 zdpdx1 = zdpdx1 * zcpx(ji,jj) 1231 zdpdx2 = zdpdx2 * zcpx(ji,jj) 1234 zdpdx1 = zdpdx1 * zcpx(ji,jj) * wdrampu(ji,jj) 1235 zdpdx2 = zdpdx2 * zcpx(ji,jj) * wdrampu(ji,jj) 1232 1236 ENDIF 1233 1237 ua(ji,jj,jk) = ua(ji,jj,jk) + (zdpdx1 + zdpdx2) * umask(ji,jj,jk) … … 1287 1291 ENDIF 1288 1292 IF( ln_wd ) THEN 1289 zdpdy1 = zdpdy1 * zcpy(ji,jj) 1290 zdpdy2 = zdpdy2 * zcpy(ji,jj) 1293 zdpdy1 = zdpdy1 * zcpy(ji,jj) * wdrampv(ji,jj) 1294 zdpdy2 = zdpdy2 * zcpy(ji,jj) * wdrampv(ji,jj) 1291 1295 ENDIF 1292 1296
Note: See TracChangeset
for help on using the changeset viewer.