Changeset 13320
- Timestamp:
- 2020-07-17T09:58:03+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_1d_bugfixes_tocommit/NEMOGCM/NEMO/OPA_SRC/STO/stopack.F90
r13191 r13320 630 630 REAL(wp), INTENT( inout ), DIMENSION(jpi,jpj) :: coeff 631 631 REAL(wp), POINTER, DIMENSION(:,:) :: gauss 632 #elif defined key_traldf_c1d 632 #else 633 ! These variables must be defined in for the routine interface, 634 ! but are not used. 633 635 REAL(wp), INTENT( inout ), DIMENSION(jpk) :: coeff 634 636 REAL(wp), POINTER, DIMENSION(:) :: gauss 635 #else636 REAL(wp), INTENT( inout ) :: coeff637 REAL(wp), POINTER :: gauss638 637 #endif 639 638 INTEGER, INTENT( in ) :: nn_type … … 641 640 INTEGER, INTENT( in ) :: kspp 642 641 INTEGER, INTENT( in ), OPTIONAL :: klev 643 REAL(wp), POINTER, DIMENSION(:,:) :: gauss644 642 REAL(wp) :: zsd,xme,mm 645 643 CHARACTER (LEN=99) :: cstrng … … 671 669 gauss = gauss * rn_sd 672 670 coeff = coeff * ( 1._wp + gauss ) 673 #if defined key_traldf_c3d || key_traldf_c2d || key_traldf_c1d674 671 WHERE( coeff > 1._wp ) coeff = 1._wp 675 672 WHERE( coeff < 0._wp ) coeff = 0._wp 676 #else677 IF( coeff > 1._wp ) coeff = 1._wp678 IF( coeff < 0._wp ) coeff = 0._wp679 #endif680 673 ELSEIF ( nn_type == 5 ) THEN 681 674 zsd = rn_sd … … 683 676 gauss = gauss * zsd + xme 684 677 coeff = exp(gauss) * coeff 685 #if defined key_traldf_c3d || key_traldf_c2d || key_traldf_c1d686 678 WHERE( coeff > 1._wp ) coeff = 1._wp 687 679 WHERE( coeff < 0._wp ) coeff = 0._wp 688 #else689 IF( coeff > 1._wp ) coeff = 1._wp690 IF( coeff < 0._wp ) coeff = 0._wp691 #endif692 680 ELSEIF ( nn_type == 6 ) THEN 693 681 zsd = rn_sd … … 695 683 gauss = gauss * zsd + xme 696 684 coeff = exp(gauss) * coeff 697 #if defined key_traldf_c3d || key_traldf_c2d || key_traldf_c1d698 685 WHERE( coeff > 1._wp ) coeff = 1._wp 699 686 WHERE( coeff < 0._wp ) coeff = 0._wp 700 #else701 IF( coeff > 1._wp ) coeff = 1._wp702 IF( coeff < 0._wp ) coeff = 0._wp703 #endif704 687 ELSE 705 688 CALL ctl_stop( 'spp dqdt wrong option') … … 742 725 #elif defined key_traldf_c2d 743 726 REAL(wp), INTENT( inout ), DIMENSION(jpi,jpj) :: rcf 744 #elif defined key_traldf_c1d 727 #else 728 ! This variable must be defined for for the routine interface, 729 ! but are not used. 745 730 REAL(wp), INTENT( inout ), DIMENSION(jpk) :: rcf 746 #else747 REAL(wp), INTENT( inout ) :: rcf748 731 #endif 749 732 REAL(wp) :: mi,ma … … 807 790 CALL ctl_stop('Unrecognized SPP parameter: add it or turn off diagnostics') 808 791 END SELECT 809 #if defined key_traldf_c3d || key_traldf_c2d || key_traldf_c1d810 792 mi = MINVAL(rcf) 811 793 ma = MAXVAL(rcf) 812 #else813 mi = rcf814 ma = rcf815 #endif816 794 IF(lk_mpp) CALL mpp_min(mi) 817 795 IF(lk_mpp) CALL mpp_max(ma) … … 957 935 #elif defined key_traldf_c2d 958 936 REAL(wp), INTENT( inout ), DIMENSION(jpi,jpj) :: coeff 959 #elif defined key_traldf_c1d 937 #else 938 ! This variable must be defined for for the routine interface, 939 ! but are not used. 960 940 REAL(wp), INTENT( inout ), DIMENSION(jpk) :: coeff 961 #else962 REAL(wp), INTENT( inout ) :: coeff963 941 #endif 964 942 INTEGER, INTENT( in ) :: kspp … … 1012 990 ENDIF 1013 991 992 #if defined key_traldf_c2d || key_traldf_c3d 1014 993 IF( ln_stopack_diags ) THEN 1015 994 CALL spp_stats(kt,kspp,0,coeff) 1016 995 ENDIF 996 #endif 1017 997 1018 998 CALL wrk_dealloc(jpi,jpj,gauss) … … 1088 1068 ENDIF 1089 1069 1070 #if defined key_traldf_c2d || key_traldf_c3d 1090 1071 IF( ln_stopack_diags ) THEN 1091 1072 CALL spp_stats(kt,kspp,0,coeff) 1092 1073 ENDIF 1074 #endif 1093 1075 1094 1076 CALL wrk_dealloc(jpi,jpj,gauss)
Note: See TracChangeset
for help on using the changeset viewer.