diff --git a/smash/fcore/forward/forward_db.f90 b/smash/fcore/forward/forward_db.f90 index 2ff82dbc..31638420 100644 --- a/smash/fcore/forward/forward_db.f90 +++ b/smash/fcore/forward/forward_db.f90 @@ -19171,8 +19171,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_D(setup, mesh, input_data, options, & temp = (output_layer(4, k)+1._sp)*(pr+perc) prl_d = 0.9_sp*0.4_sp*(temp0*((pr+perc)*output_layer_d(4, k)+(& & output_layer(4, k)+1._sp)*(pr_d+perc_d))-temp*2*output_layer& -& (3, k)*output_layer_d(3, k)) + l_d - prl = 0.9_sp*0.4_sp*(temp*temp0) + l +& (3, k)*output_layer_d(3, k)) + prl = 0.9_sp*0.4_sp*(temp*temp0) ! Range of correction c0.1: (0, 10) temp0 = 0.9_sp*(output_layer(3, k)*output_layer(3, k)) + & & 0.1_sp @@ -19351,9 +19351,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & & output_layer(3, k)**2))*(pr+perc) + l ! Range of correction c0.4: (0, 2) ! Range of correction c0.9: (1, 0) - CALL PUSHREAL4(prl) prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& -& output_layer(3, k)**2))*(pr+perc) + l +& output_layer(3, k)**2))*(pr+perc) ! Range of correction c0.1: (0, 10) prd = (0.1_sp+0.9_sp*output_layer(3, k)**2)*(pr+perc) CALL PUSHREAL4(ac_ht(k)) @@ -19393,6 +19392,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & prd_b = 0.0_4 END IF temp = -(0.4_sp*output_layer(4, k)) + 0.6_sp + prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& +& output_layer(3, k)**2))*(pr+perc) CALL POPREAL4(ac_hl(k)) CALL GR_TRANSFER_B(5._sp, ac_prcp(k), prl, prl_b, ac_cl(k), & & ac_cl_b(k), ac_hl(k), ac_hl_b(k), ql, ql_b) @@ -19402,13 +19403,11 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & temp_b1 = (0.9_sp*output_layer(3, k)**2+0.1_sp)*prd_b pr_b = temp_b1 perc_b = temp_b1 - CALL POPREAL4(prl) temp_b0 = 0.9_sp*0.4_sp*prl_b output_layer_b(3, k) = output_layer_b(3, k) + 2*output_layer(3& & , k)*0.9_sp*(pr+perc)*prd_b - 2*output_layer(3, k)*(& & output_layer(4, k)+1._sp)*(pr+perc)*temp_b0 - 2*output_layer& & (3, k)*temp*(pr+perc)*0.9_sp*prr_b - l_b = l_b + prl_b + prr_b temp_b = (1._sp-output_layer(3, k)**2)*temp_b0 output_layer_b(4, k) = output_layer_b(4, k) + (pr+perc)*temp_b temp_b1 = (output_layer(4, k)+1._sp)*temp_b @@ -19416,6 +19415,7 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & temp_b = (1._sp-output_layer(3, k)**2)*0.9_sp*prr_b pr_b = pr_b + temp_b1 + temp*temp_b perc_b = perc_b + temp_b1 + temp*temp_b + l_b = l_b + prr_b output_layer_b(4, k) = output_layer_b(4, k) - 0.4_sp*(pr+perc)& & *temp_b CALL POPCONTROL1B(branch) @@ -19584,7 +19584,7 @@ SUBROUTINE GRC_MLP_TIME_STEP(setup, mesh, input_data, options, returns& ! Range of correction c0.4: (0, 2) ! Range of correction c0.9: (1, 0) prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& -& output_layer(3, k)**2))*(pr+perc) + l +& output_layer(3, k)**2))*(pr+perc) ! Range of correction c0.1: (0, 10) prd = (0.1_sp+0.9_sp*output_layer(3, k)**2)*(pr+perc) CALL GR_TRANSFER(5._sp, ac_prcp(k), prr, ac_ct(k), ac_ht(k), & diff --git a/smash/fcore/forward/forward_openmp_db.f90 b/smash/fcore/forward/forward_openmp_db.f90 index f7baaf8c..5599eb25 100644 --- a/smash/fcore/forward/forward_openmp_db.f90 +++ b/smash/fcore/forward/forward_openmp_db.f90 @@ -19842,8 +19842,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_D(setup, mesh, input_data, options, & temp = (output_layer(4, k)+1._sp)*(pr+perc) prl_d = 0.9_sp*0.4_sp*(temp0*((pr+perc)*output_layer_d(4, k)+(& & output_layer(4, k)+1._sp)*(pr_d+perc_d))-temp*2*output_layer& -& (3, k)*output_layer_d(3, k)) + l_d - prl = 0.9_sp*0.4_sp*(temp*temp0) + l +& (3, k)*output_layer_d(3, k)) + prl = 0.9_sp*0.4_sp*(temp*temp0) ! Range of correction c0.1: (0, 10) temp0 = 0.9_sp*(output_layer(3, k)*output_layer(3, k)) + & & 0.1_sp @@ -20035,9 +20035,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & & output_layer(3, k)**2))*(pr+perc) + l ! Range of correction c0.4: (0, 2) ! Range of correction c0.9: (1, 0) - CALL PUSHREAL4(prl) prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& -& output_layer(3, k)**2))*(pr+perc) + l +& output_layer(3, k)**2))*(pr+perc) ! Range of correction c0.1: (0, 10) prd = (0.1_sp+0.9_sp*output_layer(3, k)**2)*(pr+perc) CALL PUSHREAL4(ac_ht(k)) @@ -20058,7 +20057,6 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & CALL PUSHREAL4(pr) CALL PUSHREAL4(perc) CALL PUSHREAL4(prr) - CALL PUSHREAL4(prl) CALL PUSHINTEGER4(k) !$OMP END PARALLEL output_layer_b = 0.0_4 @@ -20074,7 +20072,6 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & !$OMP&, qd_b), PRIVATE(temp, branch, chunk_end, chunk_start), PRIVATE(& !$OMP&temp_b, temp_b0, temp_b1) CALL POPINTEGER4(k) - CALL POPREAL4(prl) CALL POPREAL4(prr) CALL POPREAL4(perc) CALL POPREAL4(pr) @@ -20107,6 +20104,8 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & prd_b = 0.0_4 END IF temp = -(0.4_sp*output_layer(4, k)) + 0.6_sp + prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& +& output_layer(3, k)**2))*(pr+perc) CALL POPREAL4(ac_hl(k)) CALL GR_TRANSFER_B(5._sp, ac_prcp(k), prl, prl_b, ac_cl(k), & & ac_cl_b(k), ac_hl(k), ac_hl_b(k), ql, ql_b) @@ -20116,14 +20115,12 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & temp_b1 = (0.9_sp*output_layer(3, k)**2+0.1_sp)*prd_b pr_b = temp_b1 perc_b = temp_b1 - CALL POPREAL4(prl) temp_b0 = 0.9_sp*0.4_sp*prl_b !$OMP ATOMIC update output_layer_b(3, k) = output_layer_b(3, k) + 2*output_layer(3& & , k)*0.9_sp*(pr+perc)*prd_b - 2*output_layer(3, k)*(& & output_layer(4, k)+1._sp)*(pr+perc)*temp_b0 - 2*output_layer& & (3, k)*temp*(pr+perc)*0.9_sp*prr_b - l_b = l_b + prl_b + prr_b temp_b = (1._sp-output_layer(3, k)**2)*temp_b0 !$OMP ATOMIC update output_layer_b(4, k) = output_layer_b(4, k) + (pr+perc)*temp_b @@ -20132,6 +20129,7 @@ SUBROUTINE GRC_MLP_TIME_STEP_B(setup, mesh, input_data, options, & temp_b = (1._sp-output_layer(3, k)**2)*0.9_sp*prr_b pr_b = pr_b + temp_b1 + temp*temp_b perc_b = perc_b + temp_b1 + temp*temp_b + l_b = l_b + prr_b !$OMP ATOMIC update output_layer_b(4, k) = output_layer_b(4, k) - 0.4_sp*(pr+perc)& & *temp_b @@ -20318,7 +20316,7 @@ SUBROUTINE GRC_MLP_TIME_STEP(setup, mesh, input_data, options, returns& ! Range of correction c0.4: (0, 2) ! Range of correction c0.9: (1, 0) prl = 0.4_sp*(1._sp+output_layer(4, k))*(0.9_sp*(1._sp-& -& output_layer(3, k)**2))*(pr+perc) + l +& output_layer(3, k)**2))*(pr+perc) ! Range of correction c0.1: (0, 10) prd = (0.1_sp+0.9_sp*output_layer(3, k)**2)*(pr+perc) CALL GR_TRANSFER(5._sp, ac_prcp(k), prr, ac_ct(k), ac_ht(k), & diff --git a/smash/fcore/operator/md_gr_operator.f90 b/smash/fcore/operator/md_gr_operator.f90 index 840e9edc..e8b384aa 100644 --- a/smash/fcore/operator/md_gr_operator.f90 +++ b/smash/fcore/operator/md_gr_operator.f90 @@ -1737,7 +1737,7 @@ subroutine grc_mlp_time_step(setup, mesh, input_data, options, returns, time_ste prl = (0.4_sp*(1._sp + output_layer(4, k)))* & ! Range of correction c0.4: (0, 2) & (0.9_sp*(1._sp - output_layer(3, k)**2))* & ! Range of correction c0.9: (1, 0) - & (pr + perc) + l + & (pr + perc) prd = (0.1_sp + 0.9_sp*output_layer(3, k)**2)*(pr + perc) ! Range of correction c0.1: (0, 10) diff --git a/smash/tests/baseline.hdf5 b/smash/tests/baseline.hdf5 index 4a1bfd7c..3cecf880 100644 Binary files a/smash/tests/baseline.hdf5 and b/smash/tests/baseline.hdf5 differ diff --git a/smash/tests/diff_baseline.csv b/smash/tests/diff_baseline.csv index 3f04c687..c672da8b 100644 --- a/smash/tests/diff_baseline.csv +++ b/smash/tests/diff_baseline.csv @@ -1,8 +1,20 @@ -commit 4a83a00b177a039fadb190a774b82a44ffc850dc -Author: Jay-Allemand Maxime -Date: Wed Nov 13 10:01:50 2024 +0100 +commit 1d1483a759403e563e0c598393db5f3c44123292 +Author: maximejay +Date: Wed Nov 20 11:18:55 2024 +0100 - Generate adjoint after change in grc structure + Fix grc structure (model for reunion) (#343) + + * Fix grc structure (model for reunion). remove leaking from slow transfert reservoir cl, because the model calibration was done with this structure + + * Generate adjoint after change in grc structure + + * update baseline + + * update doc figure + + --------- + + Co-authored-by: Apolline Elbaz TEST NAME |STATUS bbox_mesh.active_cell |NON MODIFIED @@ -1462,48 +1474,48 @@ optimize.zero-gr6_mlp-lr.multi-polynomial.control_vector |NON MODIFIED optimize.zero-gr6_mlp-lr.multi-polynomial.sim_q |NON MODIFIED optimize.zero-gr6_mlp-lr.uniform.control_vector |NON MODIFIED optimize.zero-gr6_mlp-lr.uniform.sim_q |NON MODIFIED -optimize.zero-grc-kw.ann.control_vector |MODIFIED -optimize.zero-grc-kw.ann.sim_q |MODIFIED -optimize.zero-grc-kw.distributed.control_vector |MODIFIED -optimize.zero-grc-kw.distributed.sim_q |MODIFIED -optimize.zero-grc-kw.multi-linear.control_vector |MODIFIED -optimize.zero-grc-kw.multi-linear.sim_q |MODIFIED -optimize.zero-grc-kw.multi-polynomial.control_vector |MODIFIED -optimize.zero-grc-kw.multi-polynomial.sim_q |MODIFIED +optimize.zero-grc-kw.ann.control_vector |NON MODIFIED +optimize.zero-grc-kw.ann.sim_q |NON MODIFIED +optimize.zero-grc-kw.distributed.control_vector |NON MODIFIED +optimize.zero-grc-kw.distributed.sim_q |NON MODIFIED +optimize.zero-grc-kw.multi-linear.control_vector |NON MODIFIED +optimize.zero-grc-kw.multi-linear.sim_q |NON MODIFIED +optimize.zero-grc-kw.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-grc-kw.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grc-kw.uniform.control_vector |NON MODIFIED optimize.zero-grc-kw.uniform.sim_q |NON MODIFIED optimize.zero-grc-lag0.ann.control_vector |NON MODIFIED -optimize.zero-grc-lag0.ann.sim_q |MODIFIED -optimize.zero-grc-lag0.distributed.control_vector |MODIFIED -optimize.zero-grc-lag0.distributed.sim_q |MODIFIED -optimize.zero-grc-lag0.multi-linear.control_vector |MODIFIED -optimize.zero-grc-lag0.multi-linear.sim_q |MODIFIED -optimize.zero-grc-lag0.multi-polynomial.control_vector |MODIFIED -optimize.zero-grc-lag0.multi-polynomial.sim_q |MODIFIED +optimize.zero-grc-lag0.ann.sim_q |NON MODIFIED +optimize.zero-grc-lag0.distributed.control_vector |NON MODIFIED +optimize.zero-grc-lag0.distributed.sim_q |NON MODIFIED +optimize.zero-grc-lag0.multi-linear.control_vector |NON MODIFIED +optimize.zero-grc-lag0.multi-linear.sim_q |NON MODIFIED +optimize.zero-grc-lag0.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-grc-lag0.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grc-lag0.uniform.control_vector |NON MODIFIED optimize.zero-grc-lag0.uniform.sim_q |NON MODIFIED optimize.zero-grc-lr.ann.control_vector |NON MODIFIED optimize.zero-grc-lr.ann.sim_q |NON MODIFIED -optimize.zero-grc-lr.distributed.control_vector |MODIFIED -optimize.zero-grc-lr.distributed.sim_q |MODIFIED -optimize.zero-grc-lr.multi-linear.control_vector |MODIFIED -optimize.zero-grc-lr.multi-linear.sim_q |MODIFIED -optimize.zero-grc-lr.multi-polynomial.control_vector |MODIFIED -optimize.zero-grc-lr.multi-polynomial.sim_q |MODIFIED +optimize.zero-grc-lr.distributed.control_vector |NON MODIFIED +optimize.zero-grc-lr.distributed.sim_q |NON MODIFIED +optimize.zero-grc-lr.multi-linear.control_vector |NON MODIFIED +optimize.zero-grc-lr.multi-linear.sim_q |NON MODIFIED +optimize.zero-grc-lr.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-grc-lr.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grc-lr.uniform.control_vector |NON MODIFIED optimize.zero-grc-lr.uniform.sim_q |NON MODIFIED -optimize.zero-grc_mlp-kw.ann.control_vector |NON MODIFIED -optimize.zero-grc_mlp-kw.ann.sim_q |NON MODIFIED +optimize.zero-grc_mlp-kw.ann.control_vector |MODIFIED +optimize.zero-grc_mlp-kw.ann.sim_q |MODIFIED optimize.zero-grc_mlp-kw.distributed.control_vector |NON MODIFIED optimize.zero-grc_mlp-kw.distributed.sim_q |NON MODIFIED optimize.zero-grc_mlp-kw.multi-linear.control_vector |NON MODIFIED -optimize.zero-grc_mlp-kw.multi-linear.sim_q |NON MODIFIED +optimize.zero-grc_mlp-kw.multi-linear.sim_q |MODIFIED optimize.zero-grc_mlp-kw.multi-polynomial.control_vector |NON MODIFIED -optimize.zero-grc_mlp-kw.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-grc_mlp-kw.multi-polynomial.sim_q |MODIFIED optimize.zero-grc_mlp-kw.uniform.control_vector |NON MODIFIED -optimize.zero-grc_mlp-kw.uniform.sim_q |NON MODIFIED -optimize.zero-grc_mlp-lag0.ann.control_vector |NON MODIFIED -optimize.zero-grc_mlp-lag0.ann.sim_q |NON MODIFIED +optimize.zero-grc_mlp-kw.uniform.sim_q |MODIFIED +optimize.zero-grc_mlp-lag0.ann.control_vector |MODIFIED +optimize.zero-grc_mlp-lag0.ann.sim_q |MODIFIED optimize.zero-grc_mlp-lag0.distributed.control_vector |NON MODIFIED optimize.zero-grc_mlp-lag0.distributed.sim_q |NON MODIFIED optimize.zero-grc_mlp-lag0.multi-linear.control_vector |NON MODIFIED @@ -1511,9 +1523,9 @@ optimize.zero-grc_mlp-lag0.multi-linear.sim_q |NON MODIFIED optimize.zero-grc_mlp-lag0.multi-polynomial.control_vector |NON MODIFIED optimize.zero-grc_mlp-lag0.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grc_mlp-lag0.uniform.control_vector |NON MODIFIED -optimize.zero-grc_mlp-lag0.uniform.sim_q |NON MODIFIED -optimize.zero-grc_mlp-lr.ann.control_vector |NON MODIFIED -optimize.zero-grc_mlp-lr.ann.sim_q |NON MODIFIED +optimize.zero-grc_mlp-lag0.uniform.sim_q |MODIFIED +optimize.zero-grc_mlp-lr.ann.control_vector |MODIFIED +optimize.zero-grc_mlp-lr.ann.sim_q |MODIFIED optimize.zero-grc_mlp-lr.distributed.control_vector |NON MODIFIED optimize.zero-grc_mlp-lr.distributed.sim_q |NON MODIFIED optimize.zero-grc_mlp-lr.multi-linear.control_vector |NON MODIFIED @@ -1521,7 +1533,7 @@ optimize.zero-grc_mlp-lr.multi-linear.sim_q |NON MODIFIED optimize.zero-grc_mlp-lr.multi-polynomial.control_vector |NON MODIFIED optimize.zero-grc_mlp-lr.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grc_mlp-lr.uniform.control_vector |NON MODIFIED -optimize.zero-grc_mlp-lr.uniform.sim_q |NON MODIFIED +optimize.zero-grc_mlp-lr.uniform.sim_q |MODIFIED optimize.zero-grd-kw.ann.control_vector |NON MODIFIED optimize.zero-grd-kw.ann.sim_q |NON MODIFIED optimize.zero-grd-kw.distributed.control_vector |NON MODIFIED