Changeset 14822 for NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/tests/BENCH/MY_SRC/usrdef_istate.F90
- Timestamp:
- 2021-05-10T13:32:16+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining
- Property svn:externals
-
old new 1 ^/utils/build/arch@ 14122arch2 ^/utils/build/makenemo@ 14122makenemo3 ^/utils/build/mk@ 14122mk4 ^/utils/tools@ 14122tools5 ^/vendors/AGRIF/dev@ 14122ext/AGRIF6 ^/vendors/FCM@ 14122ext/FCM7 ^/vendors/IOIPSL@ 14122ext/IOIPSL8 ^/vendors/PPR@ 14122ext/PPR1 ^/utils/build/arch@HEAD arch 2 ^/utils/build/makenemo@HEAD makenemo 3 ^/utils/build/mk@HEAD mk 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev@HEAD ext/AGRIF 6 ^/vendors/FCM@HEAD ext/FCM 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 ^/vendors/PPR@HEAD ext/PPR 9 9 10 10 # SETTE 11 ^/utils/CI/sette _wave@13990sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/tests/BENCH/MY_SRC/usrdef_istate.F90
r14053 r14822 53 53 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pu ! i-component of the velocity [m/s] 54 54 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pv ! j-component of the velocity [m/s] 55 !!st REAL(wp), DIMENSION(jpi,jpj) , INTENT( out) :: pssh ! sea-surface height56 55 ! 57 56 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 58 57 REAL(wp) :: zfact 59 58 INTEGER :: ji, jj, jk 60 INTEGER :: igloi, igloj ! to be removed in the future, see comment bellow61 59 !!---------------------------------------------------------------------- 62 60 ! … … 67 65 ! define unique value on each point of the inner global domain. z2d ranging from 0.05 to -0.05 68 66 ! 69 ! WARNING: to keep compatibility with the trunk that was including periodocity into the input data, 70 ! we must define z2d as bellow. 71 ! Once we decide to forget trunk compatibility, we must simply define z2d as: 72 !!$ DO_2D( 0, 0, 0, 0 ) 73 !!$ z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 74 !!$ END_2D 75 igloi = Ni0glo + 2 * COUNT( (/ jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 /) ) 76 igloj = Nj0glo + 2 * COUNT( (/ jperio == 2 .OR. jperio == 7 /) ) + 1 * COUNT( (/ jperio >= 4 .AND. jperio <= 6 /) ) 77 DO_2D( 0, 0, 0, 0 ) 78 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * igloi, wp ) / REAL( igloi * igloj, wp ) ) 67 DO_2D( 0, 0, 0, 0 ) ! +/- 0.05 68 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 79 69 END_2D 80 !81 ! sea level:82 !!st pssh(:,:) = z2d(:,:) ! +/- 0.05 m83 70 ! 84 71 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 85 72 zfact = REAL(jk-1,wp) / REAL(jpk-1,wp) ! 0 to 1 to add a basic stratification 86 73 ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 87 pts( :,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/-1.0 degG74 pts(ji,jj,jk,jp_tem) = 20._wp*z2d(ji,jj) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/- 1.0 degG 88 75 ! salinity: 89 pts( :,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:) ! 30 to 31+/- 0.05 psu76 pts(ji,jj,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(ji,jj) ! 30 to 31 +/- 0.05 psu 90 77 ! velocities: 91 pu( :,:,jk) = z2d(:,:) * 0.1_wp * umask(:,:,jk)! +/- 0.005 m/s92 pv( :,:,jk) = z2d(:,:) * 0.01_wp * vmask(:,:,jk)! +/- 0.0005 m/s78 pu(ji,jj,jk) = z2d(ji,jj) * 0.1_wp * umask(ji,jj,jk) ! +/- 0.005 m/s 79 pv(ji,jj,jk) = z2d(ji,jj) * 0.01_wp * vmask(ji,jj,jk) ! +/- 0.0005 m/s 93 80 END_3D 94 81 pts(:,:,jpk,:) = 0._wp … … 96 83 pv( :,:,jpk ) = 0._wp 97 84 ! 98 !!st CALL lbc_lnk('usrdef_istate', pssh, 'T', 1. ) ! apply boundary conditions99 85 CALL lbc_lnk('usrdef_istate', pts, 'T', 1. ) ! apply boundary conditions 100 86 CALL lbc_lnk('usrdef_istate', pu, 'U', -1. ) ! apply boundary conditions … … 117 103 ! 118 104 INTEGER :: ji, jj 119 INTEGER :: igloi, igloj ! to be removed in the future, see usr_def_istate comment120 105 !!---------------------------------------------------------------------- 121 106 ! … … 123 108 IF(lwp) WRITE(numout,*) 'usr_def_istate_ssh : BENCH configuration, analytical definition of initial ssh' 124 109 ! 125 igloi = Ni0glo + 2 * COUNT( (/ jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 /) ) 126 igloj = Nj0glo + 2 * COUNT( (/ jperio == 2 .OR. jperio == 7 /) ) + 1 * COUNT( (/ jperio >= 4 .AND. jperio <= 6 /) ) 127 ! sea level: +/- 0.05 m 128 DO_2D( 0, 0, 0, 0 ) 129 pssh(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * igloi, wp ) / REAL( igloi * igloj, wp ) ) 110 DO_2D( 0, 0, 0, 0 ) ! sea level: +/- 0.05 m 111 pssh(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 130 112 END_2D 131 113 ! 132 CALL lbc_lnk('usrdef_istate', pssh, 'T', 1. ) 114 CALL lbc_lnk('usrdef_istate', pssh, 'T', 1. ) ! apply boundary conditions 133 115 ! 134 116 END SUBROUTINE usr_def_istate_ssh
Note: See TracChangeset
for help on using the changeset viewer.