Changeset 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90
- Timestamp:
- 2017-03-03T12:46:59+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90
r7698 r7753 237 237 CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! 238 238 ! 239 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn)240 239 DO jk = 1, jpkm1 241 240 DO jj = 1, jpj … … 278 277 CASE( np_seos ) !== simplified EOS ==! 279 278 ! 280 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn)281 279 DO jk = 1, jpkm1 282 280 DO jj = 1, jpj … … 347 345 END DO 348 346 ! 349 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, jsmp, jdof, zh, zt, zstemp, zs, ztm, zn3, zn2, zn1)350 347 DO jk = 1, jpkm1 351 348 DO jj = 1, jpj … … 402 399 ! Non-stochastic equation of state 403 400 ELSE 404 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn)405 401 DO jk = 1, jpkm1 406 402 DO jj = 1, jpj … … 445 441 CASE( np_seos ) !== simplified EOS ==! 446 442 ! 447 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn)448 443 DO jk = 1, jpkm1 449 444 DO jj = 1, jpj … … 498 493 IF( nn_timing == 1 ) CALL timing_start('eos2d') 499 494 ! 500 !$OMP PARALLEL DO schedule(static) private(jj, ji) 501 DO jj = 1, jpj 502 DO ji = 1, jpi 503 prd(ji,jj) = 0._wp 504 END DO 505 END DO 495 prd(:,:) = 0._wp 506 496 ! 507 497 SELECT CASE( neos ) … … 509 499 CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! 510 500 ! 511 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn3, zn2, zn1, zn0, zn)512 501 DO jj = 1, jpjm1 513 502 DO ji = 1, fs_jpim1 ! vector opt. … … 549 538 CASE( np_seos ) !== simplified EOS ==! 550 539 ! 551 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn)552 540 DO jj = 1, jpjm1 553 541 DO ji = 1, fs_jpim1 ! vector opt. … … 601 589 CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! 602 590 ! 603 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn3, zn2, zn1, zn0, zn)604 591 DO jk = 1, jpkm1 605 592 DO jj = 1, jpj … … 659 646 CASE( np_seos ) !== simplified EOS ==! 660 647 ! 661 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn)662 648 DO jk = 1, jpkm1 663 649 DO jj = 1, jpj … … 712 698 IF( nn_timing == 1 ) CALL timing_start('rab_2d') 713 699 ! 714 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 715 DO jk = 1, jpts 716 DO jj = 1, jpj 717 DO ji = 1, jpi 718 pab(ji,jj,jk) = 0._wp 719 END DO 720 END DO 721 END DO 700 pab(:,:,:) = 0._wp 722 701 ! 723 702 SELECT CASE ( neos ) … … 725 704 CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! 726 705 ! 727 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn3, zn2, zn1, zn0, zn)728 706 DO jj = 1, jpjm1 729 707 DO ji = 1, fs_jpim1 ! vector opt. … … 784 762 CASE( np_seos ) !== simplified EOS ==! 785 763 ! 786 !$OMP PARALLEL DO schedule(static) private(jj, ji, zh, zt, zs, zn)787 764 DO jj = 1, jpjm1 788 765 DO ji = 1, fs_jpim1 ! vector opt. … … 940 917 IF( nn_timing == 1 ) CALL timing_start('bn2') 941 918 ! 942 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zrw, zaw, zbw)943 919 DO jk = 2, jpkm1 ! interior points only (2=< jk =< jpkm1 ) 944 920 DO jj = 1, jpj ! surface and bottom value set to zero one for all in istate.F90 … … 976 952 !! Rational approximation to TEOS10 algorithm (rms error on WOA13 values: 4.0e-5 degC) 977 953 !!---------------------------------------------------------------------- 978 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ctmp ! Cons. Temp [Celsius]979 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu]954 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: ctmp ! Cons. Temp [Celsius] 955 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: psal ! salinity [psu] 980 956 ! Leave result array automatic rather than making explicitly allocated 981 957 REAL(wp), DIMENSION(jpi,jpj) :: ptmp ! potential temperature [Celsius] … … 993 969 z1_T0 = 1._wp/40._wp 994 970 ! 995 !$OMP PARALLEL DO schedule(static) private(jj, ji, zt, zs, ztm, zn,zd)996 971 DO jj = 1, jpj 997 972 DO ji = 1, jpi … … 1049 1024 ! 1050 1025 z1_S0 = 1._wp / 35.16504_wp 1051 !$OMP PARALLEL1052 !$OMP DO schedule(static) private(jj, ji, zs)1053 1026 DO jj = 1, jpj 1054 1027 DO ji = 1, jpi … … 1058 1031 END DO 1059 1032 END DO 1060 !$OMP DO schedule(static) private(jj, ji) 1061 DO jj = 1, jpj 1062 DO ji = 1, jpi 1063 ptf(ji,jj) = ptf(ji,jj) * psal(ji,jj) 1064 END DO 1065 END DO 1066 !$OMP END PARALLEL 1067 ! 1068 IF( PRESENT( pdep ) ) THEN 1069 !$OMP PARALLEL DO schedule(static) private(jj, ji) 1070 DO jj = 1, jpj 1071 DO ji = 1, jpi 1072 ptf(ji,jj) = ptf(ji,jj) - 7.53e-4 * pdep(ji,jj) 1073 END DO 1074 END DO 1075 END IF 1033 ptf(:,:) = ptf(:,:) * psal(:,:) 1034 ! 1035 IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 1076 1036 ! 1077 1037 CASE ( np_eos80 ) !== PT,SP (UNESCO formulation) ==! 1078 1038 ! 1079 !$OMP PARALLEL DO schedule(static) private(jj, ji) 1080 DO jj = 1, jpj 1081 DO ji = 1, jpi 1082 ptf(ji,jj) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(ji,jj) ) & 1083 & - 2.154996e-4_wp * psal(ji,jj) ) * psal(ji,jj) 1084 END DO 1085 END DO 1039 ptf(:,:) = ( - 0.0575_wp + 1.710523e-3_wp * SQRT( psal(:,:) ) & 1040 & - 2.154996e-4_wp * psal(:,:) ) * psal(:,:) 1086 1041 ! 1087 IF( PRESENT( pdep ) ) THEN 1088 !$OMP PARALLEL DO schedule(static) private(jj, ji) 1089 DO jj = 1, jpj 1090 DO ji = 1, jpi 1091 ptf(ji,jj) = ptf(ji,jj) - 7.53e-4 * pdep(ji,jj) 1092 END DO 1093 END DO 1094 END IF 1042 IF( PRESENT( pdep ) ) ptf(:,:) = ptf(:,:) - 7.53e-4 * pdep(:,:) 1095 1043 ! 1096 1044 CASE DEFAULT … … 1186 1134 CASE( np_teos10, np_eos80 ) !== polynomial TEOS-10 / EOS-80 ==! 1187 1135 ! 1188 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn2, zn1, zn0, zn)1189 1136 DO jk = 1, jpkm1 1190 1137 DO jj = 1, jpj … … 1250 1197 CASE( np_seos ) !== Vallis (2006) simplified EOS ==! 1251 1198 ! 1252 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zh, zt, zs, ztm, zn)1253 1199 DO jk = 1, jpkm1 1254 1200 DO jj = 1, jpj
Note: See TracChangeset
for help on using the changeset viewer.