Changeset 5871
- Timestamp:
- 06/25/21 13:59:41 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CONFIG_DEVT/IPSLCM6.5_work_ENSEMBLES/modeles/LMDZ/libf/dyn3dmem/dynetat0_loc.F90
r5501 r5871 46 46 REAL, ALLOCATABLE :: ucov_glo(:,:), q_glo(:,:), phis_glo(:) 47 47 REAL, ALLOCATABLE :: teta_glo(:,:) 48 REAL, ALLOCATABLE ::random_ucov(:,:),random_vcov(:,:),random_teta(:,:),random_ps(:) 49 REAL :: noise_ucov, noise_vcov, noise_ps, noise_teta 50 INTEGER :: seed_noise_ucov, seed_noise_vcov, seed_noise_ps, seed_noise_teta 51 INTEGER :: seed_size 52 INTEGER, ALLOCATABLE :: seed(:) 48 53 !------------------------------------------------------------------------------- 49 54 modname="dynetat0_loc" … … 125 130 CALL err(NF90_GET_VAR(fID,vID,time),"get",var) 126 131 132 CALL RANDOM_SEED(size=seed_size) 133 ALLOCATE(seed(seed_size)) 127 134 ALLOCATE(phis_glo(ip1jmp1)) 128 135 CALL get_var1("phisinit",phis_glo) … … 130 137 131 138 ALLOCATE(ucov_glo(ip1jmp1,llm)) 139 ALLOCATE(random_ucov(ip1jmp1,llm)) 132 140 CALL get_var2("ucov",ucov_glo) 133 ucov (ijb_u:ije_u,:)=ucov_glo(ijb_u:ije_u,:); DEALLOCATE(ucov_glo) 141 seed_noise_ucov=314159265 142 CALL getin("seed_noise_ucov",seed_noise_ucov) 143 seed=seed_noise_ucov 144 CALL RANDOM_SEED(put=seed) 145 noise_ucov = 0 146 CALL getin("noise_ucov",noise_ucov) 147 CALL RANDOM_NUMBER(random_ucov) 148 ucov_glo=ucov_glo*(1+(random_ucov*2-1)*noise_ucov) 149 ucov (ijb_u:ije_u,:)=ucov_glo(ijb_u:ije_u,:); DEALLOCATE(ucov_glo) ; DEALLOCATE(random_ucov) 134 150 135 151 ALLOCATE(vcov_glo(ip1jm,llm)) 152 ALLOCATE(random_vcov(ip1jm,llm)) 136 153 CALL get_var2("vcov",vcov_glo) 137 vcov (ijb_v:ije_v,:)=vcov_glo(ijb_v:ije_v,:); DEALLOCATE(vcov_glo) 154 seed_noise_vcov=314159265 155 CALL getin("seed_noise_ucov",seed_noise_vcov) 156 seed=seed_noise_vcov 157 CALL RANDOM_SEED(put=seed) 158 noise_vcov = 0 159 CALL getin("noise_ucov",noise_vcov) 160 CALL RANDOM_NUMBER(random_vcov) 161 vcov_glo=vcov_glo*(1+(random_vcov*2-1)*noise_vcov) 162 vcov (ijb_v:ije_v,:)=vcov_glo(ijb_v:ije_v,:); DEALLOCATE(vcov_glo) ; DEALLOCATE(random_vcov) 138 163 139 164 ALLOCATE(teta_glo(ip1jmp1,llm)) 165 ALLOCATE(random_teta(ip1jmp1,llm)) 166 seed_noise_teta=314159265 167 CALL getin("seed_noise_teta",seed_noise_teta) 168 seed=seed_noise_teta 169 CALL RANDOM_SEED(put=seed) 170 noise_teta = 0 171 CALL getin("noise_teta",noise_teta) 172 CALL RANDOM_NUMBER(random_teta) 140 173 CALL get_var2("teta",teta_glo) 141 teta (ijb_u:ije_u,:)=teta_glo(ijb_u:ije_u,:); DEALLOCATE(teta_glo) 174 teta_glo=teta_glo*(1+(random_teta*2-1)*noise_teta) 175 teta (ijb_u:ije_u,:)=teta_glo(ijb_u:ije_u,:); DEALLOCATE(teta_glo) ; DEALLOCATE(random_teta) 142 176 143 177 ALLOCATE(masse_glo(ip1jmp1,llm)) … … 146 180 147 181 ALLOCATE(ps_glo(ip1jmp1)) 182 ALLOCATE(random_ps(ip1jmp1)) 183 seed_noise_ps=314159265 184 CALL getin("seed_noise_ps",seed_noise_ps) 185 seed=seed_noise_ps 186 CALL RANDOM_SEED(put=seed) 187 noise_ps = 0 188 CALL getin("noise_ps",noise_ps) 189 CALL RANDOM_NUMBER(random_ps) 148 190 CALL get_var1("ps",ps_glo) 149 ps (ijb_u:ije_u) = ps_glo(ijb_u:ije_u); DEALLOCATE(ps_glo) 191 ps_glo=ps_glo*(1+(random_ps*2-1)*noise_ps) 192 ps (ijb_u:ije_u) = ps_glo(ijb_u:ije_u); DEALLOCATE(ps_glo) ; DEALLOCATE(random_ps) 150 193 151 194 !--- Tracers
Note: See TracChangeset
for help on using the changeset viewer.