@@ -59,7 +59,7 @@ module MOM_oda_ml_mod
59
59
real (8 ) :: ReLU_zero = 0
60
60
real (8 ), dimension (15 ) :: target_sigmas = (/ 0.1 ,0.3 ,0.5 ,0.7 ,0.9 ,1.1 ,1.3 ,1.5 ,1.7 ,1.9 ,2.1 ,2.3 ,2.5 ,2.7 ,2.9 / )
61
61
real (8 ), dimension (16 ) :: output_flux_sigmas = (/ 0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0 , 1.2 , 1.4 , 1.6 , 1.8 , 2.0 , 2.2 , 2.4 , 2.6 , 2.8 , 3.0 / )
62
- character (len= 255 ) :: danni_ANN_name = ' /scratch/cimes/dd7201/pp_DA_increments/danni_data_20250120/argo_only_clean/networks /danni_ANN_weights_2006_2010.nc'
62
+ character (len= 255 ) :: danni_ANN_name = ' /gpfs/f5/gfdl_sd/world-shared/Feiyu.Lu/ECDA_data/ML /danni_ANN_weights_2006_2010.nc'
63
63
64
64
integer :: id_clock_ml_remapping
65
65
integer :: id_clock_ml_normalization
@@ -177,20 +177,23 @@ subroutine oda_ml_inference(ml_config,ml_data)
177
177
do i = 1 , 15
178
178
call find_right_index(zi_to_sigma, target_sigmas(i),value_for_control_depth, right_index)
179
179
if (right_index == 1 ) then
180
- thetao_zgrad_sigma(i) = thetao_zgrad_profile(1 )
181
- so_zgrad_sigma(i) = so_zgrad_profile(1 )
182
- PRHO_zgrad_sigma(i) = PRHO_zgrad_profile(1 )
180
+ thetao_zgrad_sigma(i) = thetao_zgrad_profile(1 )
181
+ so_zgrad_sigma(i) = so_zgrad_profile(1 )
182
+ PRHO_zgrad_sigma(i) = PRHO_zgrad_profile(1 )
183
183
else
184
- call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),thetao_zgrad_profile(right_index-1 ),thetao_zgrad_profile(right_index),target_sigmas(i),thetao_zgrad_sigma(i))
185
- call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),so_zgrad_profile(right_index-1 ),so_zgrad_profile(right_index),target_sigmas(i),so_zgrad_sigma(i))
186
- call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),PRHO_zgrad_profile(right_index-1 ),PRHO_zgrad_profile(right_index),target_sigmas(i),PRHO_zgrad_sigma(i))
184
+ call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),thetao_zgrad_profile(right_index-1 ), &
185
+ thetao_zgrad_profile(right_index),target_sigmas(i),thetao_zgrad_sigma(i))
186
+ call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),so_zgrad_profile(right_index-1 ), &
187
+ so_zgrad_profile(right_index),target_sigmas(i),so_zgrad_sigma(i))
188
+ call interpolate(zi_to_sigma(right_index-1 ),zi_to_sigma(right_index),PRHO_zgrad_profile(right_index-1 ), &
189
+ PRHO_zgrad_profile(right_index),target_sigmas(i),PRHO_zgrad_sigma(i))
187
190
end if
188
191
189
192
call find_right_index(zl_to_sigma, target_sigmas(i),value_for_control_depth, right_index)
190
193
if (right_index == 1 ) then
191
- div_sigma(i) = div_profile(1 )
194
+ div_sigma(i) = div_profile(1 )
192
195
else
193
- call interpolate(zl_to_sigma(right_index-1 ),zl_to_sigma(right_index),div_profile(right_index-1 ),div_profile(right_index),target_sigmas(i),div_sigma(i))
196
+ call interpolate(zl_to_sigma(right_index-1 ),zl_to_sigma(right_index),div_profile(right_index-1 ),div_profile(right_index),target_sigmas(i),div_sigma(i))
194
197
end if
195
198
end do
196
199
0 commit comments